1. 개요

1.1 SQL 주입 (SQL Injection) 이란?

SQL문을 실행시켜 데이터베이스(DB)를 조작하는 해킹 기법이에요.

주로 시큐어 코딩(보안 코딩)이 잘 되어 있지 않은 프로그램을 해킹할 때 써요.

1.2 해커들의 사용 빈도수

SQL Injection은 OWASP Top 10 중 에서도 상위권에 꼽힐 정도로 자주 사용 되고 있어요.

<aside> 💡 Q. OWASP Top 10 은 뭐죠?

A. 웹 애플리케이션 보안 취약점을 이용한 해킹 중 빈도, 위험도가 가장 큰 10가지를 선정하여 작성되는 문서에요.

</aside>

1.3 SQL Injection의 위험성

자료 조사를 한 사이트에서 확인한 결과 우리가 사용 중인 웹 애플리케이션의 30%가 SQL injection에 무방비하게 노출되어져 있고, IT 기업들의 40%가 이 공격을 받고 있는 것으로 조사되어 있었어요.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/182b92aa-de33-49f7-9f68-1cd351272288/_.png

표 출처 : https://www.ptsecurity.com/ww-en/analytics/web-application-attacks-2019/

2. 취약점 보고서의 목적 및 중요성

2.1 목적

대부분의 웹 서버 데이터베이스는 사람들의 민감한 개인 정보를 날 것 그대로 보관 하고 있어요.

정보 보안 팀이 갖춰져 있는 기업인 경우에는 암호화가 되어 있어 해킹 사건이 일어나도 개인정보가 노출되는 일이 없지만, 대부분의 기업은 정보 보안 팀이 갖춰져 있지 않고, 시큐어 코딩을 할 수 있는 사람도 없어요. 이런 경우 데이터베이스가 해킹 공격을 당해 정보를 탈취 당했다면 개인 정보가 그대로 노출되게 돼요.

그래서 이런 정보의 보안을 효율적으로 하고, 해킹을 예방하기 위해서 웹 애플리케이션의 보안 취약점을 정리하고, 한 눈에 알아볼 수 있게 해주는 "취약점 보고서" 를 작성 할 필요가 있어요

2.2 SQL injection 공격 사례