JS 코드 노출 최소화
요약
❗자바스크립트가 나온 이유는 느린 네트워크 환경에서 매번 데이터 체크를 서버에서 하는것이 부담이 되어, 클라이언트에서 선체크를 해서 서버로 데이터를 보내자는 것이지. 서버에서 체크를 하지 않겠다는 취지는 아니다.
❗서버를 보호 하고 싶다면.
💡 1.페이지의 중요도를 분류해서 중요한 페이지만 보호하는게 경제적이다.
💡 2.중요 페이지의 DB 필드명을 추측 가능하게 Javascript 에 노출하지 않는다.(member_name -> memberName)
💡 3.https 를 사용한다. https 의 장점은 referer 체크를 할 수 있다는 건데 헤더를 조작해야 하므로 다른 사이트에서 submit 이 원천적으로 불가능하다.
💡 4. 일회용 세션 토큰을 사용해서 다른 사이트에서 submit 방지를 한다.
이정도만 되어도 프로그램 레벨 해킹은 거의 불가능.
- 해킹을 하다는게 결국은 DB 를 조작한다는 것과 다른 사이트에서 값을 조작해서 submit 하는것
- 금융권에서 쓰는 방법 하나가 더 있는데… 브라우저에서 현재 세션으로 메모리에 떠 있는 html 을 조작 하는 방법이 존재.
- 그걸 막기 위해서 나온게 키보드보안 솔루션도입
- javascript 소스 자체를 암호화 해주는 방법도 있는데 그건 결국 key 를 어딘가에 숨겨야 하는데 해킹 하려고 맘 먹으면 풀기 직전에 가로챌 수 있음.
Leave a comment