보안업체Imperva사는 2010년 12월부터 2011년 5월까지 조사해봤더니. 매 2분마다 공격이 들어오고 있다고 합니다. 아무래도 미국회사이다 보니, 웹 공격을 하는 나라는 대 부분이 미국이었다고 합니다. 그리고, 다음이 중국을 차지했고, 네델란드 순이었습니다.
제가 운영해보니, 한국에서 들어오는 대부분의 공격은 중국 IP더군요~^^
'봇'에 의해서 공격이 일어나는데, 짧은 시간내에 대량의 공격의 이루어지는 패턴이었다고 합니다. 잘알려진 취약성을 테스트해서 어플리케이션의 보안을 깨는데 그 목표가 있었습니다.
공격 패턴을 조사해보니, 총 4가지의 패턴이 있었습니다.
첫번째로 많은 패턴이 37%인 directory traversal 입니다. 취약점을 찾을 수 있는 패턴을 찾는 것이지요. 대 부분이 공격 전에 scanning을 한다고 하는데요. 이부분에 대해서 취약성을 최대한 보이지 않도록 방어하는 것이 중요합니다. 자바 웹 서버의 경우는 웹 서버의 버전을 보여주지 않거나 DB 혹은 사용자 내부 정보를 보이지 않도록 해야 합니다.
관련해서 문서를 잘 정리하고, 인수인계자에게 문서를 만들어주는 것이 좋다.
(나는 3년 간의 운영정보를 가지고 사내에 표준 문서를 만들었다.)
그다음으로 많은 것이 36%인 XSS 공격입니다. XSS공격은 서버가 사용자 파라미터를 체크하지 않는 것을 근거로 악의적인 사용자가 사용자 파라미터에 악성 스크립트 코드를 전송하게 해서 코드의 결과를 웹 브라우저로 보게 하는 것입니다.
네이버 개발자 센터는 자바기반의 Lucy-XSS 필터를 제공하여 XSS 코드의 위험으로부터 보호하고 있습니다.
http://dev.naver.com/projects/lucy-xss
Sql Inject (SQLI) 은 23%를 차지하고 있습니다.
아파치 모듈인 mod_security를 통해서 방어할 수 있지만, 사용자 파라미터에 비슷한 내용이 있다면 쓰기 어렵습니다.
따라서, 웹 개발자가 잘 판단하면서 사용자 파라미터를 신뢰하지 않으면서 잘 코딩할 필요가 있습니다. PrepareStatment를 잘 사용하여 SQL Injection공격을 잘 방어 할 수 있습니다.
그리고, RFI 방식은 remote file inclusion 의 줄임말로 공격자가 악의적인 코드를 실제 서버에 전달합니다. 그 서버를 통해서 악성코드를 실행하게 하는 형식입니다.
이와는 달리 LFI 방식이 있는데요. 이것은 웹 서버가 파일을 보여주는 웹 콜에 대해서 /etc/passwd를 보이가 한다거나 특정 명령어를 실행할 수 있게 해서 정보를 파악하는 것을 말합니다.
운영을 하면서 많이 공격이 왔던 것은 SQL Injection과 XSS 공격이었던 것 같다. 에러 로그와 아파치 로그/톰캣 로그를 잘 분석하면서 어떤 공격이 오고 있는지 잘 분석할 필요가 있다. 필요하면 ip block, reference block, mod_security를 이용해서 패턴에 맞는 공격을 방어한다면 웹 서버는 더욱 더 튼튼하게 될 것이다.
출처 :
1. 매 2분 공격
http://www.readwriteweb.com/archives/report_web_applications_attacked_every_2_minutes.php?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+readwriteweb+%28ReadWriteWeb%29
2. RFI 공격
http://thexs4.tistory.com/455
3. XSS 공격
http://www.hanbitbook.co.kr/web/sample/1331/sample_chap5.pdf
4. LUCY-XSS
http://dev.naver.com/projects/lucy-xss
5. SQL injection
'Security' 카테고리의 다른 글
우버 해킹 (2017) (0) | 2018.02.02 |
---|---|
도스 공격에 대한 방어를 위한 Kernel 셋팅 (0) | 2009.07.27 |
코드 소프트 해킹 이벤트 관련 (0) | 2009.03.19 |
사설 내부 IP 대역 (0) | 2008.08.28 |
x.509 certificate 보기 (0) | 2006.03.03 |