본문 바로가기

IT for researcher/Web Security

Automatic Creation of SQL Injection and Cross-Site Scripting Attacks

Abstract
우리는 SQL 인젝션과 크로스 사이트 스크립트에 취약점을 찾는 기술에 대해 쓴다.
가장 심각한 공격에서 공격자는 사용자가 악성 코드를 실행하기 위하여 데이터베이스를 망가트릴 수 있다.
이논문에서 SQLI와 XSS 취약점을 드러내는 입력을 생성하기 위한 자동화된 기술을 보인다. 이 기술은 샘플 입력, track saints,  익스플로잇을 생성한다.

이차 XSS 공격을 알 수 있는 첫 분석이다.


Introduction

공격의 두가지 종류 SQL 인젝션, 크로스사이트 스크립팅

SQLI와 XSS 취약점을 식별하고 이를 막기 위한 이전 방식들은 방어 코드, 정적 분석, 동적 모니터링, 테스트 생성등을 포함한다.

이러한 접근 방법들은 각각 장점 및 개선 사항들을 가지고 있다.

Defensive coding은 에러가 나기 쉽고 안전한 라이브러리를 사용하기 위하여 기존 소프트웨어를 다시 작성해야만 한다.

Static analysis 툴은 거짓 경고를 만들어 낼 수 있으며, 취약점을 이용하는 구체적인 입력 예제를 생성할 수 없다.

Dynamic monitoring 툴은 실행중인 애플리케이션에 실행 오버헤드를 발생시키고,  코드가 배치될 때 까지 취약점을 검출할 수 없다.

Black-box 테스트 생성은 애플리케이션의 내부를 이용하지 못한다. While-box 테스트 기술은 알려지지 않은 취약점을 발견해 내지 못한다.


SQLI와 XSS를 식별하는 새로운 기술을 ~~

이전 접근 방식과 다르게 우리의 기술은 변경되지 않은 기존 코드위에서 동작하며 취약점을 드라내는 구체적인 입력을 생성하며, 소프트웨어가 배치되기 전에 동작하며, 소프트웨어에 대한 오버헤드를 가지고 있지 않으며 취약한 코드를 발견하기 위한 애플리케이션 내부를 분석한다.
//정말? 다되나.


PHP/MySQL 애플리케이션 공격을 생성하기위한 자동화된 툴 ARDILLA를 만듬.

ARDILLA는 화이트박스 테스팅 툴로써 애플리케이션의 소스코드를 요구한다.

배치전에 PHP 애플리케이션을 테스팅하기위하여 설계되었다.

소프트웨어가 유저에게 접해지기 전에 식별된 보안 취약점은 고쳐질 수 있다.