Skip to content

πŸ”μΈκ³΅μ§€λŠ₯ μ‹œνμ–΄μ½”λ”© κ°€μ΄λ“œ μ›Ήμ‚¬μ΄νŠΈ "SecuGo" Backend Repository(with Django)

Notifications You must be signed in to change notification settings

wonheejeong/SecuGo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 

Repository files navigation

SecuGo





Description

As security threats increase, the importance of "secure-coding" has grown.
Companies and developers have found vulnerabilities in code development through code review and simulation.
However, it takes a lot of time, so many companies are now benefiting from the use of automated tools.
The problem with our team is that the "test case" used in simulation and automation tools is being updated manually.
With the advent of automation tools, the "test case," which is the basis for diagnosing, has caused a gap between the occurrence of security incidents and the reflection on the source code.
To address this, Secugo will creates a "test case."

λ³΄μ•ˆ μœ„ν˜‘μ΄ μ¦λŒ€λ¨μ— 따라, "μ‹œνμ–΄ μ½”λ”©"의 μ€‘μš”μ„±μ΄ μ€‘λŒ€κ°€ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
이에 κΈ°μ—… 및 κ°œλ°œμžλ“€μ€ μ½”λ“œ 리뷰 및 λͺ¨μ˜ν•΄ν‚Ήμ„ 톡해 개발 된 μ†ŒμŠ€μ½”λ“œμ˜ 취약점을 μ°Ύμ•„μ™”μŠ΅λ‹ˆλ‹€.
λ‹€λ§Œ, μ΄λŠ” λ§Žμ€ μ‹œκ°„μ΄ μ†Œμš”λ˜κΈ°μ— ν˜„μž¬λŠ” λ§Žμ€ κΈ°μ—…λ“€μ—μ„œ μžλ™ν™” 된 도ꡬλ₯Ό λ„μž…ν•˜μ—¬ 도움을 λ°›κ³  μžˆμŠ΅λ‹ˆλ‹€.
저희 νŒ€μ΄ λ°”λΌλ³΄λŠ” λ¬Έμ œλŠ”, λͺ¨μ˜ν•΄ν‚Ή 및 μžλ™ν™” νˆ΄μ—μ„œ μ‚¬μš©λ˜μ–΄μ§€λŠ” β€œν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€β€κ°€ μˆ˜μž‘μ—…μœΌλ‘œ κ°±μ‹ λ˜κ³  μžˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.
μžλ™ν™” 툴의 λ“±μž₯으둜 진단 μ†λ„λŠ” μ›”λ“±νžˆ μƒμŠΉν•˜μ˜€μœΌλ‚˜, 이에 진단 기쀀이 λ˜λŠ” β€œν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€β€ λŠ” λŠ¦μ€ μ—…λ°μ΄νŠΈλ‘œ 인해 λ³΄μ•ˆ μ‚¬κ±΄μ˜ λ°œμƒκ³Ό μ†ŒμŠ€μ½”λ“œμƒμ˜ 반영 사이에 곡백이 μƒκΈ°κ²Œ λ©λ‹ˆλ‹€.
SecuGoλŠ” 이λ₯Ό ν•΄μ†Œν•˜κΈ° μœ„ν•˜μ—¬ β€œν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€β€ 생성 컨텐츠λ₯Ό λ§Œλ“€μ–΄ 보고자 ν•©λ‹ˆλ‹€.

Development Background

  • Mass data generation, as it is called IT consumption. Many of these cyber attacks are also on the rise.
  • According to the IBM X-Force Tech report, 41% of new vulnerabilities occur in web applications. In addition, vulnerabilities such as known XSS and SQL injection continue to grow.
  • IT의 μ†ŒλΉ„ν™” 라고 뢈렀 질만큼, λŒ€λŸ‰μ˜ 데이터가 λ°œμƒ. κ·Έλ‘œμΈν•œ λ§Žμ€ 사이버 곡격 λ˜ν•œ μ¦κ°€ν•˜λŠ” μΆ”μ„Έμž…λ‹ˆλ‹€.
  • IBM X-Force ν…Œν¬ λ³΄κ³ μ„œμ— λ”°λ₯΄λ©΄, μ‹ κ·œ μ·¨μ•½μš”μ†Œ 쀑 41%λŠ” μ›Ή μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ λ°œμƒν•œλ‹€κ³  ν•©λ‹ˆλ‹€. λ˜ν•œ, 이미 μ•Œλ €μ§„ XSS 및 SQL Injectionκ³Ό 같은 취약점도 κ³„μ†ν•΄μ„œ μ¦κ°€ν•˜λŠ” μΆ”μ„Έμž…λ‹ˆλ‹€.

Characteristics

  • Some sort of Secure coding tool designed to help developers develop.
  • Provide comments on areas where threats may exist for the developer's code.
  • Provides a coding guide for real-time, secure coding from threats.
  • κ°œλ°œμžλ“€μ˜ κ°œλ°œμ„ μˆ˜μ›”ν•˜κ²Œ λ•κ³ μž λ§Œλ“€μ–΄μ§„ μΌμ’…μ˜ Secure coding tool.
  • 개발자의 μ½”λ“œμ— λŒ€ν•΄ μœ„ν˜‘μ΄ μ‘΄μž¬ν•  수 μžˆλŠ” 뢀뢄듀에 λŒ€ν•œ μ½”λ©˜νŠΈλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.
  • μ½”λ”© κ°€μ΄λ“œλ₯Ό μ œκ³΅ν•΄μ€ŒμœΌλ‘œμ„œ μœ„ν˜‘μœΌλ‘œλΆ€ν„° μ‹€μ‹œκ°„μœΌλ‘œ μ•ˆμ „ν•œ 코딩을 κ΅¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Development Contents

  • Collect incident cases from security case sites such as CWE,ANS,OWASP
  • Perform a custom NLU, transform the data into categorised security data.
  • Subsequently, pattern matching is used to compare all source codes and the above cases shown in Github.
  • When developers write the above code, they create a website and IDE plug-in that tells them the possibility of vulnerabilities.(The creation of IDE plug-ins is set as additional attainment targets during the project)
  • CWE,SANS,OWASP 와 같은 λ³΄μ•ˆμ‚¬κ±΄ 사둀 μ‚¬μ΄νŠΈμ—μ„œ 사건 μΌ€μ΄μŠ€λ₯Ό μˆ˜μ§‘(Crawling)
  • μœ„ 데이터λ₯Ό, μ»€μŠ€ν…€ 된 NLUλ₯Ό μˆ˜ν–‰, μΉ΄ν…Œκ³ λ¦¬ν™” 된 λ³΄μ•ˆ λ°μ΄ν„°λ‘œ λ³€ν˜•ν•©λ‹ˆλ‹€.
  • 이후, νŒ¨ν„΄ 맀칭 μž‘μ—…μ„ 톡해 Github에 곡개된 λͺ¨λ“  μ†ŒμŠ€μ½”λ“œμ™€ μœ„μ˜ μΌ€μ΄μŠ€λ₯Ό 비ꡐ λΆ„μ„ν•©λ‹ˆλ‹€.
  • μœ„μ™€ μœ μ‚¬ μ½”λ“œλ₯Ό κ°œλ°œμžκ°€ μž‘μ„±μ‹œ, 취약점 κ°€λŠ₯성을 μ•Œλ €μ£ΌλŠ” μ›Ή μ‚¬μ΄νŠΈ 및 IDEν”ŒλŸ¬κ·ΈμΈμ„ μ œμž‘ν•©λ‹ˆλ‹€.(IDE ν”ŒλŸ¬κ·ΈμΈ μ œμž‘μ€ ν”„λ‘œμ νŠΈ κΈ°κ°„ 상, μΆ”κ°€ 달성 λͺ©ν‘œλ‘œ μ„€μ •)


Key Application Technologies

  • Customized NLU: κΈ°μ‘΄ μžμ—°μ–΄ λΆ„μ„μ˜ NLUλ₯Ό security λΆ„μ•Όλ‘œ customizeν•©λ‹ˆλ‹€.
  • Pattern Matching: μˆ˜μ§‘(Crawling)된 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ™€ 개발자의 μ½”λ“œλ₯Ό 비ꡐ μ‹œ μ‚¬μš©ν•©λ‹ˆλ‹€.
  • Crawling: λ³΄μ•ˆμ‚¬κ±΄ μΌ€μ΄μŠ€λ“€μ„ μˆ˜μ§‘ν•©λ‹ˆλ‹€.



Development Environment

  • Windows10 / Ubuntu-Bionic Beaver
  • Pycharm, Visual Studio 14.0, Eclipse etc
  • Python, JSP, Node.js etc
  • MySQL 5.7



Demonstration video

https://youtu.be/q5pMkLwJ0EE



Development environment

  • Python 3.6.5
  • Flask
  • MySQL



Used API

  • IBM Watson NLU API



License

Β© All rights reserved. Design: wonhee Jeong.

  • λ³Έ ν”„λ‘œμ νŠΈλŠ” ν•œμ΄μŒ λ©˜ν† λ§ ν”„λ‘œμ νŠΈλ‘œ μ§„ν–‰λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

About

πŸ”μΈκ³΅μ§€λŠ₯ μ‹œνμ–΄μ½”λ”© κ°€μ΄λ“œ μ›Ήμ‚¬μ΄νŠΈ "SecuGo" Backend Repository(with Django)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published