메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

적을 알고 나를 아는 보안 첫걸음

sysong7***

|

2021-03-21

웹 애플리케이션 보안

웹 애플리케이션 보안의 정찰, 공격, 방어를 모두 다루는 실용서. 웹 애플리케이션에 침투하기 위해 해커가 실제로 사용하는 여러 기법을 소개하고 안전을 확보하는 법을 배운다. 각 장은 OWASP 취약점 중에서도 위험성이 높은 주제의 공격과 방어 양면을 다룬다.

  • 저자 : 앤드루 호프먼
  • 번역 : 최용
  • 출간 : 2021-02-19



# 시작하기

 

 

내가 만든 프로그램을 다른 시각으로 보기 시작하다.

처음 프로그램을 만들 때에는 소프트웨어의 품질이나 보안 등 다른 측면은 전혀 고려할만한 여유가 되지 못하였다. 그러나 프로젝트를 한 사이클 겪어보고 나서 다시 과거에 내가 짰던 프로그램들을 점검하고 유지보수하면서 요즘에는 품질이나 보안에 관해 흥미가 생겼고 다른 시각에서 바라보게 되었다.

어느 분야든 마찬가지겠지만 특히 금융권에서는 잠깐의 장애가 곧 큰 손실을 불러올 수 있기 때문에 보안은 매우 매우 중요하다. 그러나 최근까지도 금융권을 겨냥한 디도스(DDoS) 공격과 같은 보안 이슈가 떠오르고 있다.

Web Application Security는 "적을 알고 나를 알아야 한다." 라는 메시지 안에서 어플리케이션을 보호하는 법을 배우는 것에 그치지 않고 어플리케이션을 조사하고 침입하는 방법까지도 안내하고 있다. 필자와 같이 웹 개발을 해본 사람들에게 새로운 시각과 문제를 소개하고 견문을 넓혀줄 것이다.

 

 

 

# 책 구성 살펴보기

 

 

Web Application Security 뒷 장 소개글

 

이 책은 크게 3개의 Part로 나누어져 있다.

 

 

Part1. 정찰

Part2. 공격

Part3. 방어

 

 

Part1과 Part2는 '해커'의 입장으로 보는 어플리케이션의 분석과 취약점 이용을 소개한다. Part1의 정찰단계는 데이터 수집단계로 '약점'을 찾는 것이라고 할 수 있다. Part2에서는 이를 이용한 '익스플로잇'을 배울 수 있다. 인젝션이나 서비스거부(DoS)등의 해킹 기술에 대해 상세하게 소개되고 있다.

 

 

책의 저자는 오늘날 웹 어플리케이션은 취약점의 온상이라고 평하고 있다. 그런데 우리가 그것을 전혀 발견하지 못한다면 실제로 해킹에 집중한 나머지 취약점을 제대로 분석하는 지식을 쌓지 못해서라고 강력히 말한다. 즉, Part1의 정찰 기술과 방법론을 가벼이 여긴다면 실제 우리가 방어하기 위해 노력할 것들을 놓칠 수 있다는 것이다.

 

 

Part3에서는 Part2에서 소개된 주제별로 방어 기술을 소개하고 있다.

 

 

 

 

# 장점 골라내기

 

 

1. 보안은 처음인 사람들을 위한 보안 용어 정리와 역사 INTRO

 

Web Application Security 용어 정리

 

어서와, 보안은 처음이지? 저자의 친절한 용어 정리가 돋보인다. 필자와 같이 보안이 처음인 사람들은 책에 나와있는 용어만 찾느라고도 상당 부분 시간이 많이 소요되고, 그 동안 흥미를 잃을지도 모르겠다. 하지만, 그러한 걱정을 덜어주도록 저자는 시작하는 말 다음으로 용어 목록을 수록해 미리보기가 가능하도록 했다. 용어집이 없었다면 아마 지금쯤 형광펜이 무수히 칠해져 있을지도 모르겠다. 이 부분에서 처음 들어봄 익스플로잇 덕분에 2장에서 수월하게 이해하고 넘어갈 수 있었다.

 

본격적인 보안 기본을 시작하기에 앞서, 보안과 관련한 역사에 대해 소개하는 Chapter1은 흥미롭게 읽을 수 있었다. 앨런 튜링이라는 수학자를 주인공으로 한 영화 "이미테이션 게임"을 재미있게 봤었는데, Chapter1에서 에그니마가 소개되어 반가운 마음도 들었다.

영화 이미테이션 게임 포스터와 chapter1에 소개된 에그니마

 

 

 

2. Application의 분석 ~ 해킹 ~ 방어 전면을 아우르는 보안서적

 

저자는 대상독자를 경우 별로 나누긴 했지만, 소프트웨어 공학 중급 수준의 배경 지식이 있는 사람을 대상으로 한다고 밝혔다. 그러나 몇 번의 웹 개발을 해본 필자가 읽으면서도 뉴스 기사로 접해본 해킹 기술이 소개되어 있었던 것을 떠올리면 '보안'과 관련하여 관심사가 있는 모든이가 읽어도 좋을 책이라고 확신한다.

바로 해킹을 막기 위한 방법론부터 소개하는 것이 아니라, 해킹과 방어의 대상이 되는 Application을 탐색적으로 분석하는 것부터 시작하고 뒤이어 해킹과 방어를 1:1 로 매칭되도록 소개하고 있기 때문에 독자는 100% 소화가 어렵다면 보안의 일부를 분석 또는 해킹 또는 방어 측면에서 선택적으로 소화할 수 있다.

과거에는 보안 취약점이라고 하면 서버단의 어떤 취약점을 말하는 것으로 통용이 되었던 기억이 있다. 그러나 일부는 DOM이나 CSS를 통해서도 공격을 시도하고 있기 때문에 웹 개발자의 입장에서도 보안은 동떨어지지 않았다는 것을 느끼도록 잘 설득하고 있다. 특히 해킹과 방어가 1:1 구조로 소개되고 있기 때문에 해커와 보안담당자의 시각에서 시나리오를 분석할 수 있어 새롭고 흥미진진했다.

 

 

 

 

# 제안하기

 

 

[단점]

'보안'이라는 것은 확실히 범위가 넓을 것이다. 하지만 이 책에서는 몇 가지의 블랙햇 해커들이 사용하는 기술을 소개하고 있기 때문에 여러 기술이나 시나리오를 접하기에는 한계가 있을 것이라 생각된다.

보안 관련 직무를 수행하는 사람의 입장에서는 어떤지 상상이 안되지만, 웹 개발을 해본 사람의 입장에서는 충분히 만은 레퍼런스가 되었고, 앞으로 코드를 작성할 때 어떻게 해야 사용자를 보호할 수 있는지에 대해 다양한 방면으로 생각해보게 하는 책임에는 틀림없다.

 

 

[기대하는 점]

보안은 매우 중요한 것이지만 특정 소수의 역할이라고 생각했던 필자가 어리석었음을 절실히 느낀 시간이었다. 앞으로도 금융권에 재직하는 동안, 보안 관련한 이슈가 끊임없이 나올 것이다. 그 때마다, 개발자로서 보안에 대한 위기의식을 느끼고 기술을 습득하려 노력하는 자세를 잊지 말아야겠다. 전문가 수준은 아니더라도 문제가 발생했을 때 나의 프로그램을 사용하는 사용자들을 보호할 수 있는 방법을 고민할 수 있는 개발자가 되고 싶다. 이 책을 통해 그러한 힘을 얻고자 한다.

 

 

 

# 맺기

 

 

[추천]

보안 측면에서 다른 시각을 가지고 싶은 웹 개발자

보안 관련한 직무가 궁금한 사람

최신의 몇 가지 해킹 기술 레퍼런스가 필요한 사람

 

위 사람들에게 Web Application Security는 보안 길잡이로서 분석, 공격, 방어에 이르기까지 폭 넓은 보안을 탐험할 수 있도록 해줄 것이다.

 

 

[소감]

가끔 은행이 DDoS 공격을 받았다는 기사를 보면서도 보안은 중요하구나 정도에서 그쳤는데, 그 현장에서 근무하기 시작하며 조금 더 관심이 생겼다. 얼핏 들어본 것들로 이 책을 소화할 수 있을까 하는 걱정이 앞섰지만 이 책의 저자인 앤드루 호프만의 목적과 필자가 얻고자 하는 것의 방향이 잘 맞았던 것 같다.

읽는 내내 지루하지 않았고 내용의 구성도 쉬움 - 보통 - 어려움 순으로 구성이 되어서 인지 포기하지 않고 읽을 수 있었다. 실습이 없는 기술책은 오랜만이었는데, 자바 스크립트로 작성된 예제를 눈으로 따라가며 익히는 것도 어렵지 않았다.

그 동안 사용자의 요구사항을 반영하여 프로그램을 만들고 업무를 놓치지 않는 것이 가장 크다고 생각했었는데, 사용자를 보호하기 위해서 개발자가 할 수 있는 것은 무엇일지를 늘 염두에 두어야겠다.



닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?