보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dVX3lM/btqAviesUkK/x5K2S6ZaGLORP88zk6K5rK/img.png)
개발자에서 보안업계 넘어오게 되면서 우연한 기회로 시작한 Fortify 엔지니어. 낮은 보안지식때문에 저녁부터 주말까지 열심히 공부해가면서 적응했었던 기억이 납니다. 그나마 수행업무는 Fortify를 이용한 진단수행 및 결과분석이였기 때문에 모의해킹도 못하고, 수동진단 또한 할 수 없었지만, 개발자 출신답게 코드는 읽을 수 있었고, 업무에는 빠르게 적응할 수 있었습니다. 그리고 2년간의 Fortify 엔지니어를 지내오면서 다양한 취약점과 취약코드를 알 수 있게 되었죠. 당시 개발보안에 대해 닥치는 대로 공부하고 있었던 터라, 진단원에 대해 알게되었을 때도 관심이 있었지만, 가이드를 있는 그대로 외우지 않으면 떨어진다는 동종업계 분들의 이야기에 관심을 접었었죠. 그러다 현재 회사로 이직을 하면서는 소스코드..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bsx23P/btqAuxJUDY9/xYGOr6csxrleTjf973KVBk/img.png)
가. 원인 - 보안상 금지되었거나, 부주의하게 사용될 가능성이 많은 API를 사용하는 경우 나. 영향 - 위험한 API를 확인하지 않고 사용 시 보안문제를 야기 - 잘못된 방식으로 사용하여 보안문제를 야기 다. 보안대책 - 보안문제로 금지된 함수를 대체할 수 있는 안전한 함수를 사용 라. 안전한 코드 1. 보안기능을 제공하는 프레임워크의 메소드를 사용 ... // 보안기능을 제공받지 못하는 socket 대신 프레임워크의 메소드를 사용 //Socket sock = new Socket( "kisa.or.kr", 8080 );
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/1d9Ie/btqAwIXRm9p/0CSSF3yHFkRPW5agkP9b60/img.png)
가. 원인 - 도메인 명에 의존하여 보안결정을 하는 경우 나. 영향 - DNS 스푸핑 등을 통해 DNS 캐시가 오염될 경우, 사용자와 서버 사이의 트래픽이 공격자를 경유 다. 보안대책 - 보안결정에 DNS 조회결과를 사용하지 않도록 구현 라. 안전한 코드 1. IP로 보안결정 public doGet( HttpServletRequest req, HttpServletResponse res ) { ... String ip = req.getRemoteAddr(); // DNS로 보안결정할 경우 DNS 스푸핑에 취약 // InetAddress addr = InetAddress.getByName( ip ); // if ( !addr.getCaonicalHostName().endWith( "trustsite.com"..
- Total
- Today
- Yesterday