블로그

성공적 투자를 위하여 어비스가 제공해드리는 특별한 소식들을 만나보세요.

#개발보안,# 스타트업

스타트업이 개발보안에 대해 노력할 때

2025.07.24

저희 어비스는 스타트업이지만 개발보안을 위해 여러모로 노력하고 있습니다. 

저희가 이번에 앱을 만들면서 설정한 개발보안에 대해 몇가지 말하고자 합니다. 

아마 다른 스타트업들을 운영하는 회사분들도 다음의 부분들을 지키면 좀 더 좋고 안전한 앱이 되지 않을까 싶습니다. 

 

1. cloudfront

 

클라우드 플레어를 앞단에 두어서 저희는 대표적으로 다음의 보안을 얻습니다. 

 

기능설명
DDoS 공격 방어Cloudflare는 세계 최대 규모의 DDoS 방어 인프라를 운영하고 있어, 초당 수백만 건의 공격 요청도 차단 가능
WAF (웹 방화벽)OWASP Top 10 위협(SQLi, XSS 등)에 대한 룰셋을 자동으로 적용
Bot Management봇 탐지 및 차단 (Bot Score, CAPTCHA, JS Challenge 등)
Rate Limiting경로별 요청 횟수 제한 가능 — brute-force, API abuse 방지
IP / 국가 차단방화벽 룰로 국가 또는 IP 대역 차단 가능
TLS 인증서 무료 제공HTTPS 적용을 자동화하며, Let’s Encrypt 갱신도 자동

이외에도 AWS - S3에 바로 접근하지 못하게 하는 등의 기능 또한 만들어서 보호 하고 있습니다. 

 

2. HTTP Parameter Pollution attack 방지
저희는 hpp 라이브러리를 통해 HPP 공격을 방지합니다. 

예를 들어, 
* 정상 요청: ?user=alice&role=user
* 공격 요청: ?user=alice&role=admin&role=user
파서에 따라 role=user가 마지막에 덮어써져야 할 검증이 패스될 수도 있지만 이를 통해 막는 것이죠. 

 

3. csrf

아주 유명한 공격이죠?  이를 방지합니다.
서버가 발급한 CSRF 토큰을 쿠키에 저장하고,  클라이언트가 요청 시 <input> 필드나 X-CSRF-Token 헤더에 똑같은 토큰을 담아 보내면, 서버에서 “쿠키 토큰”과 “요청 토큰”을 비교해 유효성을 검증합니다.
이렇게 하면 세션을 유지하지 않는 SPA나 API 서버에도 쉽게 적용할 수 있습니다.

 

4. xss
xss-clean 미들웨어를 추가해서 들어오는 모든 요청에서 req.body, req.query, req.params 등의 값을 자동으로 “클렌징”해서 잠재적인 XSS(크로스 사이트 스크립팅) 공격 페이로드를 제거해 줍니다. 

ex)
1. 스크립트 태그 제거
   * <script>…</script> 같은 태그를 통째로 제거하거나 이스케이프 처리
2. 이벤트 핸들러 제거
   * <img src=x onerror="alert(1)" /> 식의 on… 속성도 무력화
3. HTML 엔티티 이스케이프
   * < > " ' 등을 &lt; &gt; &quot; &#x27; 등으로 바꿔서 스크립트 실행을 원천 차단
4. 네스트된 객체 지원
   * req.body.user.name 같은 중첩된 속성도 재귀적으로 검사

 

5. rate - limit
CloudFront 단독으로는 Rate Limiting 이 부분적으로 제공됩니다. 

커스터마이징 하게  Rate limiting(“1분에 100회 초과하면 차단”)을 할 수가 없기 때문에 이를 설정해두었습니다. 

 

6. helmet 

Helmet을 붙이면 다음과 같은 주요 보안 헤더들이 자동으로 추가돼, OWASP 권고사항 대부분을 커버할 수 있습니다.
* X-DNS-Prefetch-Control: DNS 프리페치 허용/차단
* Expect‑CT: Certificate Transparency 정책
* X-Frame-Options: Clickjacking 방지(DENY/SAMEORIGIN)
* Strict‑Transport‑Security: HSTS(HTTPS 강제)
* X-Download-Options: IE 다운로드 실행 방지
* X-Content-Type-Options: MIME 스니핑 방지(nosniff)
* X-Permitted-Cross-Domain-Policies: 플래시/Cross‑domain 정책 제한
* Referrer-Policy: 리퍼러 정보 최소화
* Content-Security-Policy(선택): 인라인 스크립트·외부 리소스 출처 통제

 

 

작은 스타트업이지만 사용자의 개인정보 보호, 그리고 서비스의 안정적 운영을 위해 노력하는 어비스픽이 되겠습니다. 

감사합니다. 

▶어비스픽

https://vreport.kr/

▶어비스 회사 공식홈페이지

https://aviss.kr/