표제지
목차
약어표 10
논문요약 11
제1장 서론 12
제2장 Injection 공격 14
제1절 Injection 공격 개요 14
제2절 Injection 공격 분류 16
1. SQL Injection 16
2. OS Command Injection 18
3. XPath Injection 19
4. XQuery Injection 19
5. LDAP Injection 20
제3절 Injection 공격 위협 21
제4절 Injection 사고 사례 23
1. ppomppu 개인정보 유출 23
2. ashleymadison 개인정보 유출 24
제3장 Injection 공격 대응 방안 25
제1절 SQL Injection 대응 방안 25
1. Dynamic SQL 구문 사용 금지 25
2. 입력을 받는 파라미터에 대한 유효성 검증 로직 구현 27
3. 오류에 대한 예외처리 30
제2절 OS Command Injection 대응 방안 31
제3절 XPath Injection 대응 방안 33
제4절 XQuery Injection 대응 방안 35
제5절 LDAP Injection 대응 방안 36
제4장 제안한 방식의 안전성 37
제5장 결론 41
참고문헌 43
ABSTRACT 45
[표 2-1] 기술적·관리적 보호조치 위반사항 23
[표 3-1] SQL Injection 필터링 대상 특수문자 27
[표 3-2] 필터링 대상 특수문자 및 문자열 27
[표 3-3] OS Command Injection 필터링 대상 특수문자 33
[표 4-1] 소프트웨어 개발보안 가이드 항목 비교 37
[표 4-2] Injection 공격 대응 실험 결과표 39
[그림 2-1] 취약한 SQL Query문 14
[그림 2-2] 취약한 호출 Query문 14
[그림 2-3] Injection 공격 15
[그림 2-4] 정상적인 쿼리 구문 16
[그림 2-5] Injection된 쿼리 구문 16
[그림 2-6] OS Command Injection 공격 개요 18
[그림 2-7] XPath Injection 공격 개요 19
[그림 2-8] XQuery Injection 공격 개요 20
[그림 2-9] LDAP Injection 공격 개요 20
[그림 2-10] 1년간 SQL Injection 경험 21
[그림 2-11] SQL Injection에 대한 위협 심각성 정도 22
[그림 3-1] Static SQL 구문 사용 ASP, PHP 예제 소스코드 25
[그림 3-2] Name 파라미터 치환 ASP, PHP 예제 소스코드 26
[그림 3-3] replaceAll을 사용한 필터링 ASP 예제 소스코드 28
[그림 3-4] addslashes를 사용한 필터링 PHP 예제 소스코드 29
[그림 3-5] eregi_replace를 사용한 필터링 PHP 예제 소스코드 29
[그림 3-6] 에러페이지 Redirect ASP 예제 소스코드 30
[그림 3-7] 에러페이지 Redirect PHP 예제 소스코드 31
[그림 3-8] 입력 문자 필터링 ASP 예제 소스코드 32
[그림 3-9] 입력 문자 필터링 PHP 예제 소스코드 32
[그림 3-10] 쿼리 골격 생성 및 설정 ASP, PHP 예제 소스코드 34
[그림 3-11] 파라미터화 된 쿼리문 사용 ASP, PHP 예제 소스코드 35
[그림 3-12] 입력 문자 필터링 ASP, PHP 예제 소스코드 36
[그림 4-1] Injection 공격 테스트 메인 페이지 38
[그림 4-2] 일반 문자열 삽입 결과 39
[그림 4-3] 공격 문자열 삽입 결과 39