-
MySQL 설치시 에러DB/MySQL 2018. 9. 13. 10:58
MySQL 설치 시 요구사항을 무시하고 설치하면 microsoft visual c++ 2015 Redistributable이 없어서 설치가 안되는 경우가 있다. https://www.microsoft.com/ko-kr/download/details.aspx?id=48145 링크를 들어가서 microsoft visual c++ 2015 Redistributable를 설치하거나 설치 도중 Execute를 이용해서 microsoft visual c++ 2015 Redistributable를 설치한다.
-
Spring SecurityJava/Spring 2018. 9. 11. 16:24
Spring Security 보안에 있어서 가장 중요한 개념은 “인증(Authentication)”과 “권한부여(Authorization)”이라 할 수 있다. 인증(Authentication)이란 애플리케이션의 사용자가 해당 사용자가 주장하는 본인이 맞는지 확인하는 절차로써 아래와 같은 방법을 사용할 수 있다. - 크리덴셜 기반 인증 : 사용자명과 비밀번호를 이용한 방식 - 이중 인증 : ATM기기를 이용할 떄처럼 물리적인 카드와 사용자가 입력한 개인정보를 조합하는 방식 -> OTP, 핸드폰 본인인증 - 하드웨어 인증 : 자동차 키와 같은 방식 권한부여(Authorization)란 인증을 통해서 인증된 주체를 하나 이상의 권한에 매핑해, 보호된 리소스에 대한 권한을 체크하는 것을 말한다. - 인증이 되었..
-
Secure - 잘못된 접근 제어Java/Spring 2018. 9. 11. 13:22
잘못된 접근 제어 접근이 허락된 사용자만 접근할 수 있도록 하고, 그 외에는 접근하지 못하게 한다. -> Update, Delete 특정기능에 대해 적절한 인증과 인가 작업이 수행되지 않는 경우 -> 인증 : 로그인 되있는지, 인가 : 기능을 수행할 권한이 있는지 비 인가된 기능에 대해 UI를 제공하지 않아야 한다. -> 버튼 안보이게 하기 공격자가 제공한 정보에 대한 점검작업이 서버실에서 수행되지 않는 경우를 막아야 한다. 공격자는 UI를 통하지 않고 URL을 직접 조작해서 관리자 페이지로 접근을 시도한다. 페이지에 인증, 인가 작업이 수행되게 해서 인증, 인가가 되지 않으면 튕겨버리게한다. Redirecf / Forward 웹 애플리케이션이 사용자가 입력한 값을 사용해 다른페이지로 이동시키는 기능을 ..
-
Secure - 암호화정책Java/Spring 2018. 9. 10. 15:51
암호화정책 데이터 저장시 안전한 암호 알고리즘을 사용해 암호화된 데이터를 전송하도록 해야된다. - 개인정보를 위해서 복호화가 가능한 암호방식, 복호화가 불가능한 암호방식이 있다. 비밀번호나 계좌, 주민번호등은 복호화가 안되게 해야 안전하다. - 단방향 - 해시함수 Http는 취약하다 Http에 SSL인증서를 더한 안전한 프로토콜이 Https다. 중간에 내용을 캐치당하더라도 내용이 변조될 위험이 적다. 블록암호 - 복호화가 가능한 암호, 양방향 암호 단방향 암호에서는 똑같은 암호를 입력해서 같은 값이 나오면 진행한다. 단방향 암호 해시함수에서는 SHA-256이 많이 쓰인다. 슈퍼컴퓨터로 복호화하려해도 30만년 이상 걸리는 어려운 함수다. 양자컴퓨터에서는 더 쉽게 풀리는 단점이 있지만, 현존하는 컴퓨터 세대..
-
Secure - FileJava/Spring 2018. 9. 10. 15:32
파일 업로드/다운로드 취약점 파일의 타입이나 확장자를 체크하지 않는 취약점 - 파일을 업로드할때 난수화 시키면 막을 수 있다., 애초부터 배치파일을 못보내게 한다., 특정파일을 업로드하지 못하게 막아둔다, 실행가능한 파일을 업로드 한 뒤 에러가 발생하는지 확인한다. - Spring mvc방법을 쓰면 동작되는 방법이 다르기 때문에 동작되지 않는다. 큰 사이즈 파일 업로드 취약점 진단. - 업로드할때 사이즈를 지정시켜서 막을 수 있다., 업로드되는 파일은 외부에서 직접 접근이 불가능한 경로에 저장한다. 타입이나 확장자를 체크한다. 파일체크 - MimeTypeCheck
-
Secure - CSRFJava/Spring 2018. 9. 10. 14:31
크로스 사이트 요청 위조 - CSRF 구매대행, 마일리지조작, 스팸대리발송 등 사용가능 해커가 가장 큰 공을 들여서하는 공격이다.방어하기가 XSS만큼 까다롭다. 중간에 발견되면 고치기가 힘들다. 설계 단계부터 없으면 많은 노력이 필요하다. 사이트가 신뢰하는 사용자를 통해서 해커가 원하는 명령을 대신 수행하게 만든다. 사용자의 의도와 상관없은 행동이 수행된다. CSRF는 약간의 공격으로 막을 수 없고 사이트 전체를 수정해야하기때문에 설계단계부터 설정해야 한다. ex) 추천수 조작 - 이미지태그에 추천수 링크를 경로로 잡고 사용자에게 보이지 않게하고 글을 올린다. 실제 사용자가 수행을 한 것인지 보증이되면 막을 수 있다. -> 막아야 될 곳이 많다. 실제사용자의 보증 -> 토큰이 필요하다. 로그인마다 사용자..
-
Secure - XSSJava/Spring 2018. 9. 10. 14:31
XSS - 크로스 사이트 스크립팅공격자가 악성 스크립트를 입력값으로 입력했다면 공격을 당하는 사용하는 해당 스크립트로 인해 쿠키 값이 유출되거나, 해당 사용자의 권한으로 웹 애플리케이션의 기능이 악용 또는 오용되거나, 또는 피싱 사이트로 유도되어 개인정보가 유출되는 경우가 발생될 수 있다. XSS 공격 유형 Reflective XSS공격자가 악성스크립트가 포함된 URL을 클라이언트에게 노출시켜 클릭하도록 유도하여 쿠키 정보를 탈취하거나, 피싱사이트, 불법 광고 사이트로 이동하게 한다. Stored XSS악성 스크립트를 DOCUMENT에 저장하여 해당 DOCUMENT 정보를 이용하는 애플리케이션을 통해, 시스템을 사용하는 모든 사용자들이 해당 스크립트를 실행하게 함으로써 사용자의 쿠키 정보를 탈취하거나 피..