한동안 바빠서 포스팅이 늦었다.
웹 사이트를 개발하는 데에 목적이 있지만 html과 css, jsp의 기초를 선 수강한 나는 화면 제작 때 투입하기로 하고, 웹 보안에 대한 공부를 하기로 하였다.
멘토님께서 스터디를 위해 건넨 자료는 Java 시큐어코딩 가이드이다. 행정안전부에서 배포된 2012년 판 자료로 우선 공부를 시작했다.
우선, 첫번째 과제는 개인 정보보호 동의서 작성하기!
두번째 과제는 시큐어코딩 가이드 내용 내 것으로 정리 후 발표하기!
=============================================================================
개인 정보보호 동의서 작성
첫번째 과제는 KBO와 같은 스포츠 데이터를 활용한 사이트의 로그인 중 개인 정보 동의서를 참고할 수 있어서 수월히 넘어갔다.
▶ 개인 정보 동의서 예시
이용약관 안내는 수정해야할 것들이 많아서 나중에 이야기해보도록 하겠다. 이용약관에서는 손해 배상과 관련된 모든 부분까지도 법적으로 명시해 놓아야 하므로 생각보다 내용이 길어졌다.
=============================================================================
시큐어코딩 가이드 내용 내 것으로 정리 후 발표
시큐어코딩 가이드는 java를 지난 학기에 배웠음에도 불구하고 보안 공격 용어 및 점검 방법 등의 까다로움 덕분에 공부하기가 쉽지 않았다. 차차 알아나가야 할 것들이 정말 많은 분야이다.
제일 먼저 공부한 분야는 '입력데이터 검증 및 표현' 이다.
간단한 sql 삽입을 통한 여러가지 공격법들의 분류에 대하여 공부하고, Xquery 삽입, 크로스 사이트 요청위조(CSRF), 디렉토리 경로 조작 등의 생길 수 있는 보안 상 문제들을 파악하였다. 또한 그것을 방지하기 위한 코딩법을 간략히 정리해서 발표했다.
▶ 시큐어코딩 발표본
간단한 점검 방법을 실제로 우리 웹 사이트에 실행해 보았고, 로그인이 안되는 것을 확인하였다!
파일 업로드 등의 자칫 실수하기 쉬운 부분에서 whitelist를 적용하라는 가이드의 조언을 참조하였다.
=============================================================================
발표 후, 개발자 조원들에게서 여러 질문이 쏟아졌었는데 내가 남에게 무엇인가를 확실하게 설명하려면 더욱 자세하고 정확히 공부할 필요가 있다는 생각이 들었다. 다음 시간은 지난 시간 Q&A와 함께 가이드를 더욱 상세히 파헤치고 오려고 한다.
시큐어코딩 가이드 과제는 내용이 방대하여 내 임의대로 3회에 걸쳐 나눴다. 방학이 끝나기 이전에 가이드를 완벽히 숙지할 수 있을 것이다.
참, 우리 팀의 개발은 순조로이 진행중이다~~