🔐 웹 개발을 위해 꼭 알아야하는 보안 공격

보안은 웹 개발에서 굉장히 중요한 분야 중 하나지만, 프로그래밍 교육이나 개인 포트폴리오로 프로젝트를 진행할 때 크게 다루지 않는걸 종종 보곤 했습니다. 아마도 요즘 사용하는 프레임워크나 라이브러리에서 대부분의 보안 공격이나 실수에 대해 방어할 수 있도록 구현이 잘 되어있기 때문이겠습니다만 웹 개발자 혹은 소프트웨어 개발자라면 보안 전문가 수준까진 아니더라도 기초적인 보안 공격에 대한 이해와 이를 방어할 수 있는 방법을 알아둠으로써 혹시나 발생할 수 있는 실수를 사전에 막을 수 있어야 합니다. 오늘은 알아두면 나중에 반드시 도움이 되는 보안 공격에 대해 잘 정리된 글이 있어 공유드립니다. 글에서 언급된 대표적인 보안 공격을 요약하자면 다음과 같습니다. 📌 SQL Injection 서버에서 실행되는 SQL을 악의적으로 이용하는 공격입니다. 이름처럼 기존 SQL에 악의적인 SQL 구문을 삽입하여 데이터 탈취, 삭제 등을 할 수 있습니다. 📌 Cross-Site Scription (XSS) 웹 페이지에 악성 자바스크립트를 삽입하는 공격입니다. 최근엔 SPA(Single-Page Application)로 배포되는 서비스가 많은데, 이렇게 배포되는 서비스 대부분이 인증 관리를 위해 토큰을 Cookie 혹은 localStorage 에 저장합니다. 이때 XSS 방어 준비가 되어있지 않은 경우 자바스크립트를 통해 불특정 다수의 사용자 토큰을 손쉽게 탈취 할 수 있습니다. 📌 CSRF Attack Cross-Site Request Forgery라고 부른다. 공격자가 서비스 사용자를 이용하여 요청을 보내는 공격을 말합니다. 예를 들어 네이버 로그인과 똑같은 화면을 제공하는 피싱 사이트를 사용자가 피싱 사이트인 것을 모르고 아이디와 비밀번호를 입력하고 로그인 버튼을 누른다면 피싱 사이트는 진짜 네이버 로그인 URL 에 요청할 수 있게 됩니다. 만약 CSRF 에 대한 방어가 제대로 안되어 있다면 성공/실패 Response 가 내려올 것이고 이를 통해 해커는 성공한 계정 정보를 판단하여 탈취할 수 있습니다. 📌 Command Injection 쉘을 실행시키는 로직을 이용한 공격으로 시스템 권한이 탈취되는 것이나 마찬가지기 때문에 매우 치명적입니다. 각 언어마다 쉘 명령을 실행할 수 있는 API 가 존재하는데 이러한 API 를 해커가 호출할 수 있게 방어가 안되어있다면 치명적인 결과를 불러올 수 있다. 📌 File Upload Attack 공격 스크립트가 담긴 파일을 서버로 업로드하는 공격입니다. WebShell 이 가능한 코드가 담긴 파일을 업로드하고 해커가 URL을 통해 접근 가능해지면 Command Injection 과 같은 효과를 볼 수 있습니다. 📌 JavaScript Injection 브라우저에서 자바스크립트를 삽입시키는 공격입니다. 브라우저에서 제공하는 Console 을 통해 Javascript 코드 조작이 가능하기 때문에 Client-Side 에 민감한 데이터를 넣어놨다면 해당 공격을 통해 탈취가 가능합니다. 📌 DDoS 꽤 유명한 보안 공격중 하나입니다. Distributed Denial of Service 라고 부르는데, 직역하면 분산 서비스 거부 공격이라고 할 수 있습니다. 이름처럼 분산된 시스템을 이용하여 서버에 비정상적으로 많은 트래픽을 보내 마비시키는 공격입니다. 공격자는 수 많은 PC 를 이용하여 서버에 트래픽을 보내는데 몰래 심어 놓은 좀비 PC 를 이용할 수도 있고 본인이 사용할 수 있는 PC 를 이용할 수도 있습니다. 많은 트래픽이 발생하기 때문에 공격을 받는 서비스는 부하가 생겨 느려지거나 서버가 죽을 수 있습니다. 📌 Dictionary Attack 미리 데이터베이스에 등록해놓은 수많은 문자열을 암호로 대입하는 공격으로 Brute Force의 일종입니다. "하나만 걸려라" 공격이라고도 볼 수 있는데 많은 웹 사이트에서 간단한 단어로 비밀번호를 등록하지 못하게 하는 이유기도 합니다. 📌 Rainbow Table 평문을 해시 함수로 만든 문자열을 모두 저장시켜 놓은 표를 가지고 탈취한 계정 데이터의 암호 원문을 알아내는 공격입니다. 각 보안 공격에 대한 대응 방법과 주의사항등은 공유드린 원문에 자세히 설명되어있으니 관심있으신 분들은 참고해주시면 좋겠습니다. 📚 원문 - https://kciter.so/posts/basic-web-hacking 📚 함께보면 좋은글 - 🔐 암호화의 종류: https://careerly.co.kr/comments/89377?utm_campaign=self-share

웹 개발을 위해 꼭 알아야하는 보안 공격

kciter.so

웹 개발을 위해 꼭 알아야하는 보안 공격

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 9월 21일 오전 10:38

 • 

저장 435조회 10,342

댓글 0