| 애플리케이션에 비밀스런 공격 | 2008.07.31 |
Security Analysis - Application Security
상업용 소프트웨어의 보안과 질은 지난 몇 년 간 뚜렷하게 개선되어 여러 일반적인 공격 벡터의 생존력을 감소시켰다. 그러나 최근 연구자들은 애플리케이션 레벨 공격에 초점을 맞춰 증가해온 끔직하고 잠재적인 수많은 종류의 공격들을 발견했다.
이러한 현상에 관한 가상 최근의 예는 NGS Software의 데이터베이스 보안 전문가 데이빗 리치필드(David Litchfield)가 지난 4월 말에 발견한 래터럴 SQL 인젝션(lateral SQL injection)이라 불리는 공격이다. 이 기술로 공격자들은 데이터베이스에서 임의의 명령을 수행하도록 오라클(Oracle)의 PL/SQL 언어의 특정한 데이터 유형을 조종할 수 있다. 문제는 날짜(DATE)나 숫자(NUMBER)와 같은 데이터 유형은 안전하다고 생각되어졌었다는 점이다.
리치필드는 “예를 들어 이것은 직접적이 아니라 웹 애플리케이션을 통한 SQL 인젝션 결점 등을 통해 원격으로 조정될 수 있다”며 “우선, 임의의 SQL을 실행할 수 있게 해주는 촉매 기능을 실행하기 위해 삽입 지점을 익스플로이트한 후 이 기술을 사용할 수 있다”고 설명했다.
또한 지난 4월 IBM의 ISS X-Force 팀 연구원 마크 다우드(Mark Dowd)는 논문을 통해 애플리케이션에서 널 포인터 디레퍼런스(NULL pointer dereference)를 익스플로이트하는 기술을 증명했다. 이 기술은 이전에는 안전하다고 생각되었던 것을 익스플로이트한다는 면에서 리치필드의 것과 같다. 다우드의 공격은 본래 어도비 플래시(Adobe Flash)의 결점을 익스플로이트하기 위해 고안되었으나 다른 애플리케이션들의 유사한 결점에 대해서도 적용될 수 있다.
마타사노 시큐리티(Matasano Security)의 책임자 톰 파섹(Tom Ptacek)은 “널 포인터는 성역과도 같은 존재였다. 왜냐하면 우리는 그것을 항상 보고 있기 때문이다”라며 “마크 다우드가 해낸 것은 다른 모든 취약성 연구자들이 막혔던 곳에서 한 걸음, 아니 그보다 더 멀리 나아간 것이다. 놀라운 일이다. 이러한 고(高) 레벨의 언어들이 취약하다는 발견은 엄청난 것이다”라고 말했다.
전문가들은 소프트웨어 업체들이 계속해서 안전한 코딩 방법을 사용하며 개발하고 도입 전에 보안 리뷰를 거치는 애플리케이션을 생산함에 따라 이와 같은 교묘한 새로운 공격 부류들이 앞으로 보다 일반적으로 사용될 것이라고 말했다. 이러한 방법들은 가장 일반적인 코딩 에러들을 잡아내기 위해 고안되어 공격자들이 익스플로이트하기 가장 쉬운 길을 제거하고 있다. 그러나 이러한 입구들을 폐쇄함과 더불어 새롭고 보다 눈에 띄지 않는 문들이 반드시 열리게 될 것이다.
<글·데니스 피셔(Dennis Fisher)>
Copyright ⓒ 2006 Information Security and TechTarget [정보보호21c 통권 96호(info@boannews.com)] <저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지> |
|
|
|