I nte rna t io na l J o urna l o f   E lect rica l a nd   Co m p ute E ng in ee ring   ( I J E CE )   Vo l.   10 ,   No .   4 A u g u s t   2020 ,   p p .   3 7 7 7 ~ 378 7   I SS N:  2088 - 8708 DOI : 1 0 . 1 1 5 9 1 / i j ec e . v 10 i 4 . p p 3 7 7 7 - 378 7           3777       J o ur na l ho m ep a g e h ttp : //ij ec e. ia esco r e. co m/in d ex . p h p /I JE C E   An  a uto m a ted   a ppro a ch t o   f ix   b uff er  o v erflow s       Aa m ir  Sh a ha b 1 M a m do uh   Alenez i 2 M uh a m m a d Na deem 3 ,   Ra j a   Asi f 4   1, 3, 4 De p a rt m e n o f   Co m p u ter E n g i n e e rin g ,   F a c u lt y   o f   In f o r m a ti o n   a nd  C o m m u n ica ti o n   T e c h n o l o g y ,   Ba lo c h istan   Un iv e rsit y   o f   In f o r m a ti o n   T e c h n o lo g y ,   En g in e e rin g   a n d   M a n a g e m e n S c ien c e ( BUI T EM S ) ,   P a k istan   2 Co ll e g e   o f   Co m p u ter an d   In f o rm a ti o n   S c ien c e s,  P rin c e   S u lt a n   Un i v e rsit y ,   S a u d A ra b ia       Art icle  I nfo     AB ST RAC T   A r ticle  his to r y:   R ec eiv ed   Oct   23 ,   2 0 1 9   R ev i s ed   J an   16 ,   2 0 2 0   A cc ep ted   Feb   2 ,   2 0 2 0     Bu f fe o v e r f lo w s   a re   o n e   o f   th e   m o st  c o m m o n   so f t w a re   v u ln e ra b il it ies   th a o c c u w h e n   m o re   d a ta  is  in se rt e d   in t o   a   b u f f e th a n   it   c a n   h o l d .   V a rio u m a n u a a n d   a u t o m a ted   tec h n iq u e f o r   d e tec ti n g   a n d   f ix in g   sp e c if i c   ty p e o b u f f e o v e r f lo w   v u ln e ra b il it y   h a v e   b e e n   p ro p o se d ,   b u t h e   so l u t io n   to   f ix   Un ico d e   b u f f e o v e r f lo w   h a s   n o b e e n   p r o p o se d   y e t.   P u b li c   se c u rit y   v u ln e ra b il it y   re p o sito ry   e . g . ,   Co m m o n   Wea k n e ss   En u m e ra ti o n   (CW E)  h o ld s   u se f u a rti c les   a b o u s o f twa re   se c u rit y   v u ln e ra b il it ies .   M it ig a ti o n   stra teg ies   li ste d   in   CW m a y   b e   u se f u f o f ix in g   th e   sp e c if i e d   so f twa r e   se c u rit y   v u ln e ra b il it ies .   T h is  re se a rc h   c o n tri b u tes   b y   d e v e lo p in g   a   p ro to ty p e   th a t   a u to m a ti c a ll y   f ix e s   d iff e r e n t y p e o f   b u ffe o v e r f lo w b y   u sin g   th e   stra te g ies   su g g e ste d   in   CW a rti c l e s   a n d   e x isti n g   re se a r c h .   A   sta ti c   a n a l y si to o h a s   b e e n   u se d   t o   e v a lu a te  th e   p e rf o rm a n c e   o f   th e   d e v e lo p e d   p ro t o t y p e   to o ls.    T h e   re su lt su g g e st  th a th e   p ro p o se d   a p p r o a c h   c a n   a u to m a ti c a ll y   f ix   b u ff e r   o v e rf lo w w it h o u in d u c in g   e rro rs .   K ey w o r d s :   B u f f er   o v er f lo w s   P u b lic  v u l n er ab ilit y   r ep o s ito r y   So f t w ar v u l n er ab ilit ies   Static a n al y s is     Co p y rig h ©   2 0 2 0   In stit u te o A d v a n c e d   E n g i n e e rin g   a n d   S c ien c e   Al rig h ts re se rv e d .   C o r r e s p o nd ing   A uth o r :   Mu h a m m ad   Nad ee m ,     Dep ar t m en t o f   C o m p u ter   E n g i n ee r in g ,   Facu lt y   o f   I n f o r m a tio n   a n d   C o m m u n icatio n   T ec h n o lo g y ,   B alo ch is tan   U n i v er s it y   o f   I T ,   E n g i n ee r i n g ,   a n d   Ma n a g e m e n t Scie n ce s ,     Qu etta,   B alo ch is tan ,   P ak i s tan .   E m ail: d r . n ad ee m @ ieee . o r g       1.   I NT RO D UCT I O N   So f t w ar d ev elo p m e n t,  r ap i d ly   e x p an d i n g   f ield   s in ce   t h 2 1 s ce n tu r y ,   t h s ec u r it y   o f   t h s o f t w ar e   is   m aj o r   is s u f o r   a n y   o r g a n izatio n .   Firs tl y ,   s o f t w ar ap p licatio n s   w er li m i ted   to   s i n g le   m ac h in e,   th eir   m ai n ten a n ce   co s an d   s ec u r it y   w a s   al s o   li m it ed .   W ith   an   i n cr ea s i n   a n   I n f o r m atio n   T ec h n o lo g y   in f r astru ct u r e,   ap p licatio n s   f r o m   s i n g le  m ac h in m o v ed   to   m u ltip le  m ac h in e s .   E v e n   clo u d - b ased   ap p licatio n s   w er al s o   in tr o d u ce d .   B ec au s o f   t h p o r tab ilit y   a n d   p o p u lar it y   o f   w eb - b ased   ap p licatio n s   i n   r ec e n t   y ea r s ,   d esk to p   ap p licatio n s   w er r ep lace d   b y   w eb - b ased   ap p licatio n s   in   m ed iu m   an d   lar g e - s ca le  o r g an izatio n s .     On   th o th er   h a n d ,   w eb - b a s e d   ap p licatio n s   ar less   s ec u r th an   d esk to p   ap p licatio n s .   C o n s tr u ct in g   s ec u r s o f t w ar n ee d s   g r ea t   d ea o f   s ec u r it y   ed u ca tio n .   Ma n y   s o f t w ar d e v elo p er s   ar n o a w ar o f   a n d   eq u ip p ed   w it h   en o u g h   s ec u r it y   ed u ca ti o n .   I n   ad d itio n ,   m a n y   p r o g r a m m in g   b o o k s   d o   n o t   teac h   h o w   to   w r ite  s ec u r e   p r o g r am s   [ 1 ,   2 ] .   B u f f er   o v er f lo w   o r   Mo r r is   I n ter n et  w o r m   attac k   f ir s o cc u r r ed   in   1 9 8 8 .   A n   attac k er   ca n   ea s il y   at tac k   th p r o g r a m s   u s u a ll y   d ev elo p ed   in   u n m an a g ed   lan g u a g es.  B u f f er   o v er f lo w   h ap p en s   as  a   r esu lt  o f   p o o r   in p u v alid atio n ,   ca u s e s   t h s y s te m   to   cr ash   a n d   g et s   co n tr o o v er   p r o g r a m   ex ec u tio n .   Var io u s   m an u al  ap p r o ac h es   h av e   b ee n   p r o p o s ed   f o r   f ix i n g   b u f f er   o v er f lo w   v u l n er ab ilit y .   Ma n u al l y   f i x i n g   v u ln er ab ilit y   is   ti m e - co n s u m i n g   ta s k ,   n ee d s   m o r ef f o r t   an d   m a y   in d u ce   p r o g r a m m in g   er r o r s .   A   p r o to t y p was  d ev elo p ed   w h ic h   u s e s   th m i tig a tio n   s tr ateg ie s   s u g g ested   b y   th p u b lic  v u l n er ab ilit y   r ep o s ito r y   to   f i x   b u f f er   o v er f lo v u l n er ab ilit y .   A   s tatic   a n al y s i s   to o w as  u s ed   to   s ea r ch   o u th w ea k n ess e s   i n   t h s o u r ce   co d e.   C y b er cr i m es   ar co n s tan tl y   in cr ea s in g .   T h s ec u r it y   o f   th s o f t w ar is   n ec es s it y   i n   t h is   er o f   f as test - g r o w i n g   s o f t w ar e   Evaluation Warning : The document was created with Spire.PDF for Python.
                      I SS N :   2 0 8 8 - 8708   I n t J   E lec  &   C o m p   E n g ,   Vo l.  10 ,   No .   4 A u g u s t   2020   :   3 7 7 7   -   378 7   3778   vu l n er ab ilit ie s .   A   s i m p le  er r o r   d u r in g   s o f t w ar d e v elo p m en ca n   lead   to   h u g f in a n cial   lo s s es.  R ec en t   r esear ch   s h o w s   t h at  c y b er cr i m in als  ar f i n d in g   n e w   w a y s   to   attac k   s m all  an d   lar g e   o r g an iz atio n s .   Kasp er s k y ,   s ec u r it y   co m p a n y   r ep o r ted   th at  g r o u p   o f   c y b e r cr i m i n als  in tr u d ed   m o r th a n   1 0 0   b an k s   ca u s i n g   f i n a n cial   lo s s   o f   m o r t h a n   $ 1   B illi o n As  m ac h i n lear n i n g   p r o ce s s e s   h u g a m o u n o f   d ata,   h ac k er s   tar g et  m ac h i n e   lear n in g   ca u s i n g   c y b er attac k s .   DDo attac k s   ar u s ed   in   I o T   b ased   d ev ices  b y   m ak in g   th e   wh o le  s y s te m   d o w n .   P h y s ical  i n f r as tr u ct u r s u ch   as  m ed ia  ch a n n e ls ,   telec o m m u n icatio n   n et w o r k s ,   h o s p itals   is   also     th v ic ti m   o f   c y b er attac k s   b ec au s o f   lo w - le v el  s ec u r it y .     A cc o r d in g   to   Gar tn er   Gr o u p   r ep o r t,  7 0 o f   th v u l n er ab ilit ies  ar f o u n d   i n   s o f t w ar e   ap p licatio n s .   Fo r   th last   2 5   y ea r s   i.e .   1 9 9 8 - 2 0 1 2 ,   B u f f er   Ov er f lo w   w as   th m o s o cc u r r in g   v u ln er ab ilit y .   A cc o r d in g   to   C VE   r es u lts   f r o m   1 9 8 8 - 1 9 9 8 ,   b u f f er   o v er f lo w   w as  d ec lar e d   as  th v u ln er ab ilit y   o f   th d e ca d [ 3 ] .   C o m m o n   Vu l n er ab ilit ies  a n d   E x p o s u r es   w a s   la u n c h ed   b y   MI T R E   in   1 9 9 9 .   I p r o v id es  lis o f   id en ti f ier s   f o r   k n o wn   s o f t w ar e   s ec u r it y   v u l n er ab ili ties .   C VE   d ata  i s   s y n c h r o n ized   w it h   NVD  w h ic h   i m m ed iatel y   u p d ates   in f o r m atio n   r e g ar d in g   f i x i n g   v u l n er ab ilit ie s ,   s ev er it y   s co r e   an d   i m p ac r atin g   in   C VE   en tr ies.  C VE   d etails   p r o v id in f o r m atio n   ab o u v u l n er ab ilit ies   b y   t h eir   t y p a n d   th eir   s e v er it y   le v el.   T h i s   i n f o r m atio n   v ar ie s   y ea r   o v er   y ea r .   S tati s tics   o f   b u f f er   o v er f lo w   r ep o r ted   in   C VE   ar s h o w n   i n   Fi g u r e   1 ,   it  i s   o b v io u s   t h at  t h er h a s   b ee n   an   in cr ea s in   r ep o r ted   b u f f er   o v er f lo w   v u l n er ab ilit ies  in   r ec en y ea r s .           Fig u r 1 .   S tatis tic s   o f   b u f f er   o v er f lo w   i n   C VE       A   R ec o m m e n d er   S y s te m   [ 4 - 6 ] ,   w as  p r o p o s ed   to   ac h iev h i g h er   s o f t w ar s ec u r it y   b y   g i v i n g   tr ai n i n g   to   s o f t w ar d ev elo p er s .   T h is   s y s te m   u s e s   p u b lic  v u l n er a b ilit y   r ep o s ito r y   s u ch   a s   C W E ,   w h ic h   s u g g e s t s   m iti g atio n   s tr ate g ies  f o r   d if f er en v u ln er ab ilit ie s .   Static   an al y s is   tec h n iq u es  w er u s ed   to   s ea r ch   o u t     th v u l n er ab ilit ies   i n   le g ac y   co d e.   Fu r th er ,   th m ap p in g   a lg o r ith m   w as  u s ed   w h ich   m a p p ed   th m i tig at io n   s tr ateg ie s   w i th   th e   v u l n er ab ili ties   f o u n d .   T h r est  o f   t h i s   p a p er   is   o r g a n ized   as   f o llo w s .   S ec tio n   2   d is c u s s es   th b ac k g r o u n d ;   s ec tio n   3   d is cu s s es  th r esear c h   m et h o d o lo g y s ec t io n   4   di s cu s s es  ex p e r i m en ts   an d   r esu lts ,   an d   s ec tio n   5   g i v es  co n clu s io n   an d   f u tu r w o r k .         2.   B ACK G RO UND   B u f f er   o v er f lo w   attac k   [ 7 ,   8 ,   9 ]   ca n   o cc u r   if   lar g am o u n o f   d ata  is   in s er ted   in to   f i x ed - len g t h   b u f f er   t h an   it  ca n   o cc u p y   a n d   cr ash es   th e   s y s te m   b y   o v er wr itin g   ex tr in f o r m at io n   to   a n   ad j ac en m e m o r y   s p ac e.   P r o g r a m s   w r itte n   in   u n m an a g ed   p r o g r a m m in g   la n g u a g es  ar u s u all y   s u s ce p tib le  as  th ese  la n g u a g es   do  n o h a v b u ilt - i n   p r o tectio n   a g ain s th i s   v u ln er ab ilit y   [ 1 0 ] .   An   attac k er   ta k es   ad v a n tag e   o f   t h is   o v er f lo w   b y   in s er ti n g   m alicio u s   co d in to   th m e m o r y .   Di f f er en t y p e s   o f   b u f f er   o v er f lo w   alo n g   w it h   t h eir   ex is t in g   m iti g atio n   s tr ate g ies ar s h o wn   in   T ab le  1 .       T ab le  1 .   Dif f er en t y p es o f   b u f f er   o v er f lo w s   a n d   t h e ir   m iti g at io n   s tr ateg ies   Ty p e s o f   B u f f e r   O v e r f l o w   P r o p o se d   M i t i g a t i o n   S t r a t e g i e s   S t a c k - B a se d   B u f f e r   O v e r f l o w     A d d   b o u n d a r y   c h e c k   H e a p - B a se d   B u f f e r   O v e r f l o w     A d d   mal l o c   c h e c k   F o r mat - S t r i n g   B u f f e r   O v e r f l o w     A P I   su b st i t u t i o n   I n t e g e r - B a se d   B u f f e r   O v e r f l o w     U se   L O N G   L O N G   I N T   U n i c o d e   B u f f e r   O v e r f l o w     P r o p o se d   so l u t i o n   d o e sn t   e x i st   Evaluation Warning : The document was created with Spire.PDF for Python.
I n t J   E lec  &   C o m p   E n g     I SS N:  2088 - 8708       A n   a u to m a ted   a p p r o a ch   to   fix  b u ffer   o ve r flo w s   ( A a mir   S h a h a b )   3779   Stack - B ased   B u f f er   Ov er f lo w   o cc u r s   w h e n   s tr in g   is   co p ied   f r o m   s o u r ce   b u f f er   to   d esti n a tio n   b u f f er   u s i n g   s tr cp y   f u n c tio n .   W h ile  co p y i n g ,   s tr cp y   f u n ctio n   d o es  n o c h ec k   t h s ize  o f   t h d est in at io n   b u f f er   w h ic h   m a y   lead   to   b u f f er   o v er f lo w   at tack .   Vu ln er ab le  an d   h ea led   s o u r ce   co d f o r   s tack - b ased   b u f f e r   o v er f lo w   is   s h o w n   i n   Fi g u r 2 ,   in   w h ic h   ar r a y   d ec lar ed   as  s r c[ ]   h av i n g   s ize  o f   1 2   b y t es  w h i le  th ar r a y   d ec lar ed   as  d est[]   h av in g   s ize  o f   1 0   b y te s .   I n s tead   o f   th s m a ller   s ize  o f   th d esti n atio n   ar r ay ,   s tr cp y   f u n ctio n   co p ies th s o u r ce   s tr i n g   to   t h d esti n atio n   s tr in g .         ( a)       ( b )     Fig u r 2 .   Vu ln er ab le  an d   h ea l ed   c o d f o r   s tack - b ased   b u f f er   o v er f lo w ,   ( a)   R ep lacin g   “strc p y ”  w i th   “strn cp y ”,   ( b )   Usi n g   i f - else”  c h ec k       Stack - b ased   b u f f er   o v er f lo w   c an   b f i x ed   b y   ad d in g   b o u n d ar y   ch ec k s .   T h is   s tr ateg y   m a k es  d ec is io n s   b y   c h ec k in g   t h s ize  o f   t h s o u r ce   b u f f er   an d   t h en   co m p ar i n g   it  w i th   t h d esti n atio n   b u f f er .   I n   h ea led   co d e,   s tr n cp y   f u n ctio n   w a s   u s ed   in s tead   o f   s tr cp y .   T h d if f er e n ce   b et w ee n   t h s tr cp y   an d   s tr n cp y   f u n c tio n   is   th at  t h s tr n cp y   f u n ctio n   c h ec k s   th e   s ize  o f   t h d est in at io n   b u f f er   a n d   co p y   o n l y   t h o s b y tes   till   th e   s ize  o f     th d esti n atio n   b u f f er .   Stack - b ased   b u f f er   o v er f lo w   v u l n er ab ilit y   d etec tio n   tech n i q u w a s   p r o p o s ed   in   b in ar y   co d es  [ 1 1 ] .   Dif f er en b u f f er s   w er s ca n n e d   to   f in d   o u th r is k   f u n ctio n s .   A g ai n s th e s r is k y   f u n ctio n s ,   f u n ctio n   lib r ar y   is   estab lis h ed .   Fin al l y ,   v u l n er ab ilit y   is   d etec ted   b y   co m p ar in g   t h b u f f er   s ize  w h ic h   is   u s ed   w it h   th b u f f er   s ize   alr ea d y   d ec lar ed .   T h p r o p o s ed   a p p r o ac h   o n ly   d etec ts   th s tac k   o v er f lo w   v u ln er ab ilit y   w h er ea s   o u r   ap p r o ac h   f ir s t d etec ts   an d   t h en   f ix e s   th v u ln er ab ili t y .   Heap - B ased   B u f f er   Ov er f lo w .   Static  m e m o r y   allo ca tio n   is   u s ed   to   d ec lar an   ar r ay   o f   d esir ed   s p ac e.   e. g .   I n   ca s e,   w h a v d ec lar ed   an   ar r ay   to   s to r d ata  f o r   1 0   s tu d en t s   an d   if   t h n u m b er   o f   s tu d en t s   is   ch a n g ed ,   th en   t h al lo ca ted   m e m o r y   m a y   n o f u lf ill  o u r   r eq u ir e m en ts .   T o   s av t h is   m e m o r y   lo s s ,   m allo f u n c tio n   w as   in tr o d u ce d   to   allo ca te  m e m o r y   d y n a m icall y .   An   i f - else  c h ec k   w ill  b u s ed   to   ch ec k   w h eth er   p o in ter   h as   allo ca ted   m e m o r y   o r   n o t?   A   s m ar f u zz in g   m et h o d   w as  u s ed   to   d etec h ea p - b ased   b u f f er   o v er f lo w   [ 1 2 ,   1 3 ] .   B ased   o n   co n co lic   ex ec u t io n ,   th i s   tech n iq u d etec ts   v u ln er ab ilit ies  m o r ac c u r atel y .   A d d r ess es  o f   th d y n a m icall y   al lo ca ted   m e m o r y   c h u n k s   w er s to r ed   in   m e m o r y   tab le.   T h m e m o r y   tab le   is   u p d ated   u p o n   th e   allo ca tio n   an d   d ea llo ca tio n   o f   th e s m e m o r y   ch u n k s .   T h is   v u l n er ab ilit y   tab le  is   th e n   u s ed   to   cr ea te  v u l n e r ab ilit y   co n s tr ai n t s .   An d r o id - b ased   s m ar d ev ice s   ar th v icti m s   o f   attac k er s   b y   in s er tin g   m a licio u s   co d an d   s teal    u s e f u l in f o r m at io n .   Fo r m at - Stri n g   B u f f er   O v er f lo w   o cc u r s   b y   th e   co m b i n atio n   o f   d ata   an d   co n tr o i n f o r m at io n .   T ex t   s tr in g s   ar s o m eti m es  a u to m a ticall y   co n v er ted   to   lar g er   f o r m ats.  s p r i n t f   is   u s ed   to   in p u t h f o r m a tted   s tr in g   in to   a   ch ar ac ter   ar r ay   s i m ilar l y   a s   p r in tf   is   u s ed   to   w r ite  t h s tr in g   i n to   th co n s o le.   Vu ln er ab le  an d   h ea led   co d f o r   f o r m at - s tr in g   b u f f er   o v er f lo w   ar s h o w n   i n   Fi g u r 3 ( a) .   W h ile  w r itin g   t h e   f o r m atted   s tr i n g   to   th c h ar ac ter   ar r a y ,   s p r in t f   d o e s n t c h ec k   f o r   t h o v er f lo w .   s n p r in tf   i s   u s ed   t h at  c h ec k s   t h e   l en g t h   o f   t h b u f f er   Evaluation Warning : The document was created with Spire.PDF for Python.
                      I SS N :   2 0 8 8 - 8708   I n t J   E lec  &   C o m p   E n g ,   Vo l.  10 ,   No .   4 A u g u s t   2020   :   3 7 7 7   -   378 7   3780   an d   co p ies  d eter m in ed   n u m b er   o f   b y tes  in c lu d i n g   t h n u l ter m in ato r   at  th en d .   A n   i f - else   ch ec k   is   ad d ed   w h ic h   af ter   c h ec k i n g   th co n d itio n   co p ies th b u f f er .   Ma n y   ap p r o ac h es  s u c h   as   r u n ti m e,   te s ti n g ,   an d   s tatic   an al y s is   ap p r o ac h es  h a v b ee n   p r o p o s ed   b u t   n o n o f   th e m   ca n   d is t in g u is h   all  t y p es  o f   f o r m at  s tr in g   v u ln er ab ilit y   [ 1 4 ,   1 5 ] .   T h an al y s i s   ap p r o ac h   f i n d s   o u t   th f o r m at  s tr in g   f u n ct io n s .   U s u all y ,   t h f o r m at  s tr in g   f u n ct io n s   ar p r in t f ,   f p r in t f ,   s p r i n tf ,   etc.   T h is   ap p r o ac h   o n l y   d etec ts   t h v u l n er ab ilit y ,   h o w ev er ,   it r ed u ce s   t h n u m b e r   o f   f alse p o s iti v e.   I n teg er - B ased   B u f f er   Ov er f lo w   o cc u r s   w h e n   af ter   p er f o r m i n g   s o m o p er atio n   w h o s v alu m a ex ce ed   th m ax i m u m   o r   m i n i m u m   r a n g e.   e. g .   I f   w ad d ,   1 0 0   +2 0 0 ,   th r esu lt  w ill e x ce ed   8   b its .   I n teg er - b ased   b u f f er   o v er f lo w   ca n   b f i x ed   b y   c h an g i n g   t h d ata  t y p f r o m   I NT   w h ic h   is   3 2   b it  lo n g   to   L ONG  L ONG  I NT   w h ic h   is   6 4   b it  lo n g .   Vu l n er a b le  co d f o r   in teg er - b ased   b u f f er   o v er f lo w   ar s h o w n   in   Fig u r e   3   ( a ) ,   w h er ea s   th h ea led   co d is   s h o w n   i n   Fi g u r e   3 ( b ) .         ( a)       ( b )     Fig u r 3 .   Vu ln er ab le  an d   h ea l ed   c o d f o r   f o r m at - s tr i n g   a n d   i n teg er - b ased   b u f f er   o v er f lo w ,   ( a)   R ep lacin g   s p r i n t f ”  w it h   “s n p r in t f ,   ( b )   R ep lacin g   I NT ”  w it h   “L ONG  L O NG  I NT         T h s tatic  an al y s i s   ap p r o ac h   w a s   u s ed   f o r   th d etec tio n   o f   in te g er - b ased   b u f f er   o v er f lo b y   f i n d in g   s en s iti v e   co d lo ca tio n s   [ 1 6 ] .   T h s tatic  p h a s p er f o r m s   C o n tr o Flo w   Gr ap h   r ec o v er y   a n d   C all   Gr ap h   r ec o v er y .   O n ce   f o u n d ,   an   a u t o m a ted   P OC   w as  g e n er ated   t o   f i x   t h v u l n er ab ilit y .   T h is   a p p r o ac h   w as   m o r e   ac cu r ate  an d   d o esn t   g i v a n y   f alse  p o s iti v an d   f alse  n eg a ti v e.   I n tP atch   [ 1 7 ]   f ix e s   in te g er   o v er f lo w   in   C / C ++   s o u r ce   co d at  co m p ile   ti m e.   T h is   ap p r o ac h   id en tifie s   th u n - s ec u r ar ith m etic  o p er atio n s   an d   f ix in g   s tate m en is   i n s er ted   af ter   ea c h   v u ln er ab le  ar ith m etic  o p er atio n .   A   n o v el  ap p r o ac h   u s in g   s y m b o lic  ex ec u tio n   w a s   p r o p o s ed   f o r   f ix in g   i n te g er   o v er f lo w   v u l n er ab ilit y   i n   s o u r ce   co d [ 1 8 ] .   A f ter   d etec ti n g   a   v u l n er ab ilit y ,     r ep air   p atter n   w as  g e n er ate d   w h ich   p atc h es  t h s o u r ce   c o d e.   C o d r ef ac to r in g   is   p er f o r m ed   w h ic h   ch ec k s   w h et h er   th v u l n er ab ilit y   i s   r e m o v ed   o r   s till   ex i s ts .   I f   v u l n er ab ilit y   e x i s ts   s till   th er e,   m es s ag u n r ep air ed   in te g er   o v er f lo w   is   g e n er at ed .   T h is   ap p r o ac h   w a s   m o r ef f i cien t h an   m a n u al  r ep air ,   h o wev er ,   it  w o r k s   o n l y   f o r   in te g er   t y p v u ln er ab ilit y .   Un ico d B u f f er   Ov er f lo w   o cc u r s   b y   in j ec ti n g   U n ico d ch ar ac ter s   in to   an   i n p u t   th at  e x p ec t s   A S C I I   ch ar ac ter s .   Sin ce   A S C I I   co d co v er s   o n l y   W es ter n   la n g u a g ch ar ac t er s   w h ile  U n ico d ca n   cr ea te  ch ar ac ter   f o r   al m o s t a ll lan g u a g es.   R an g es  f o r   Un ico d ch ar ac ter s   in   d i f f er e n t la n g u ag e s   ar g i v en   b elo w :   -   E n g l is h   A lp h ab ets ( 0 0 4 1 - 0 0 5 A ,   0 0 6 1 - 0 0 7 A )   -   Gr ee k   C h ar ac ter s   ( 0 3 7 0 - 0 3 FF )   -   Ma th e m atica l O p er ato r s   ( 2 2 0 0 - 22F F)   -   A r ab ic  C h ar ac ter s   ( 0 6 0 0 - 0 6 FF )   I f   w w a n to   p r in A lp h Si g n   h a v i n g   co d n x 0 3 B 1 ”  in   n o r m al  m o d e,   w w ill  g et  g ar b ag v al u e.   Vu l n er ab le  an d   h ea led   co d ar s h o w n   i n   lis tin g   b el o w .   T o   r em o v u n ico d b u f f er   o v er f lo w ,   s et     th p r o g r a m   i n   U n ico d m o d an d   r ep lace   co u t,  p r in tf   w i t h   w co u t,  w p r i n tf   r e s p ec tiv el y ,   th v u l n er ab le  an d   h ea led   co d is   s h o w n   i n   F ig u r e   4   Evaluation Warning : The document was created with Spire.PDF for Python.
I n t J   E lec  &   C o m p   E n g     I SS N:  2088 - 8708       A n   a u to m a ted   a p p r o a ch   to   fix  b u ffer   o ve r flo w s   ( A a mir   S h a h a b )   3781         Fig u r 4 R ep lacin g   p r in tf   with   w p r i n t f       2 . 1 .     P ub lic  v uln er a bil it y   r epo s it o ry   P u b lic  s o f t w ar v u l n er ab ilit y   r ep o s ito r y ,   C o m m o n   W ea k n e ss ,   an d   E n u m er atio n   ( C W E )   h o ld   u s e f u l   ar ticles  ab o u s ec u r it y   v u ln er a b ilit ies  an d   th eir   m iti g atio n   s tr ateg ies.  MI T R E ,   lau n c h ed   C VE   lis co n tain in g   d is tr ib u tio n   o f   s o f t w ar w ea k n e s s e s   i n   1 9 9 9 .   C W E   p r o v id es  s ta n d ar d   lis o f   s o f t w ar v u l n er ab ilit ie s   t h a t   ca n   b h elp f u f o r   s o f t w ar d ev elo p er s   as  w ell  as  to   l ar g g o v er n m e n a n d   p r iv at o r g an izatio n s   as   k n o w led g e   b ase  f o r   th e s s ec u r it y   f la w s .   T h ese  s o f t w a r w ea k n es s es  ar ca teg o r ized   in to   th r ee   m a i n   co n ce p ts .   -   R esear ch   C o n ce p ts   -   Dev elo p m e n t Co n ce p ts   -   A r c h itect u r C o n ce p ts   T h ese  C W E   m iti g atio n   s t u d i es  alo n g   w i th   ex i s ti n g   r esear ch   s tu d ies   ar co m b i n ed   f o r   d ev elo p in g     p r o to ty p to o l.  T h is   to o d et ec ts   t h v u ln er ab le  m o d u le s   a n d   t h en   f ix   th e m   as   h ea led   c o d e.   Dif f er e n t y p es   o f   b u f f er   o v er f lo w   a n d   s u g g e s ted   C W E   m iti g atio n   s tr ateg ie s   ar s h o w n   i n   T ab le  2 .       T ab le  2 .   B u f f er   o v er f lo w   t y p e s   a n d   C W E   m i tig a tio n   s tr ate g i es   Ty p e s o f   B u f f e r   O v e r f l o w   C W M i t i g a t i o n   S t r a t e g i e s   S t a c k - B a se d   B u f f e r   O v e r f l o w     U se   safe r ,   e q u i v a l e n t   f u n c t i o n s   w h i c h   c h e c k   f o r   b o u n d a r y   e r r o r s   H e a p - B a se d   B u f f e r   O v e r f l o w     P e r f o r m b o u n d s   c h e c k i n g   o n   i n p u t s   F o r mat - S t r i n g   B u f f e r   O v e r f l o w     A v o i d   u s i n g   f u n c t i o n s   l i k e   p r i n t f   I n t e g e r - B a se d   B u f f e r   O v e r f l o w     U se   safe   p a c k a g e s su c h   a s   S a f e I n t ( C + + )   o r   I n t e g e r L i b ( C   o r   C + + )   U n i c o d e   B u f f e r   O v e r f l o w     U se   t h e   p r i n c i p l e   o f   l e a st   p r i v i l e g e       3.   E XI ST I N G   AUTOM AT E AP P RO ACH E S   B u f f er   o v er f lo w ,   b ase  f o r   m an y   o th er   v u ln er ab ilit ie s .   I f   b u f f er   o v er f lo w   is   h a n d led ,   m o r e   th a n   5 0 %   o f   th attac k s   co u ld   b ec o m e   in ef f ec ti v e.   Vu l n er ab le  f ile s   w er lo ca ted   u s in g   to o i m p le m en ta tio n   [ 1 9 ] .   F ir s tl y ,   an   ap p licatio n   i s   r u n   u n d er   n o r m al   co n d itio n   a n d   r ec o r d   o f   th s tack   tr ac i s   m a d e.   I n   th e   n e x s tep ,   an   ap p licatio n   w it h   an   o v er f l o w   attac k   is   r u n   ag ai n .   R e s u l ts   o f   b o th   th s tack   tr ac es  ar e   co m p ar ed   w h et h er   th e y   ar s i m i lar   o r   d if f er en t?   B y   tr ac i n g   th e   v u l n er ab le  p ath ,   v u ln er ab ilit y   is   r e m o v ed   in   a n   ap p licatio n .   Ho w e v er ,   th is   to o o n l y   w o r k s   f o r   lo ca tin g   s tr cp y ”  f u n c ti o n .   Sh a w   et  al.   [ 2 0 ]   p r o p o s ed   th at  th leg ac y   C   s o u r ce   co d ca n   b e   tr an s f o r m ed   u s in g   p r o g r a m   tr an s f o r m atio n .   Saf e   L ib r ar y   R ep lace m en an d   Sa f T y p R ep lace m e n w er u s ed   to   h ea th v u ln er ab le  C   la n g u a g co d es.  SLR  r ep lace s   u n s a f f u n ct io n s   s u ch   a s   s tr cp y   w it h   g   s tr lcp y ,   m e m cp y   w it h   m e m cp y   s ,   g et s   w it h   f g e ts   o r   g ets  s ,   etc.   in   L i n u x   s y s t e m s .   ST R   r ep lace s   all  ch ar ac ter   p o in ter s   w it h   s a f e   d ata  s tr u ctu r es i. e. ,   s tr allo c”   p o in ter s .   T h s tatic  an al y s is   ap p r o ac h   is   u s ed   f o r   f i n d in g   b u f f er   o v er f lo w   v u ln er ab ilit y   u s in g   to o ls   s u c h   as   Fo r tify ,   Sp li n t ,   a n d   C h ec k m ar x   [ 2 1 ] .   Var io u s   m a n u al  ap p r o ac h es  w er u s ed   f o r   f ix i n g   b u f f er   o v er f lo w   v u l n er ab ilit y .   T h ese  ap p r o ac h es  t h e n   g u id ed   f o r   th a u t o m a ted   f i x i n g   o f   b u f f er   o v e r f lo w   v u l n er ab ilit y .   A cc o r d in g   to   [ 2 2 ] ,   w eb   ap p licatio n s   w er s taticall y   a n al y ze d   an d   ca teg o r ized   in to   d o d g y   co d v u l n er ab ilit ies,   m al icio u s   co d v u ln er ab ilit ie s an d   s ec u r it y   co d v u l n er ab il ities .   T h ese  k i n d s   o f   v u ln er ab ilit ies   ar i n s er ted   b ec au s o f   d ev elo p er s   b ad   p r o g r a m m in g   p r ac tices.  Fin d B u g s   p lu g in   w a s   u s ed   to   d etec v u l n er ab ilit ie s   in   J av w eb   ap p licatio n s .   I t   r ef e r en ce s   t h v u l n er ab ilit ies  to   OW A SP   to p   1 0   an d   C W E .   s ec u r d ev elo p m e n t   f r a m e w o r k   w as  d ev elo p ed   th at  s h o u ld   r estrict  t h d ev el o p er s   f r o m   u s i n g   b ad   p r o g r a m m in g   p r ac tices.   B o v I n s p ec to r ,   an   au to m ated   to o l,   f ix es  b u f f er   o v er f lo v u l n er ab ilit y   i n   C   p r o g r a m s .   T h to o ch e ck s     th b u f f er   o v er f lo w   w ar n in g   p ath   i n   p r o g r a m .   T h ese  w ar n i n g s   ar t h en   v al id ated   u s i n g   s y m b o lic  e x ec u tio n .   B o v I n s p ec to r   f ix e s   t h ese  w ar n in g s   u s i n g   b o u n d ar y   ch ec k s ,   s af er   A P I s   an d   b y   e x ten d i n g   t h b u f f er   s ize  [ 2 3 ] .   A   s o f t w ar s elf - h ea li n g   f r a m e w o r k   w a s   p r o p o s ed   f o r   th d etec tio n   an d   f i x in g   o f   s o f t w ar s ec u r it y   v u l n er ab ilit ie s   a s   s h o w n   i n   Fig u r 1 .   S u g g e s ted   m iti g ati o n   s tr ate g ies   f r o m   C W E   w e r tr an s f o r m ed   i n to   s tan d ar d ized   r u le s   f o r   d ev elo p in g   co d tr a n s f o r m atio n   m o d u le.   T h is   m o d u le   r ep lace d   v u ln er ab l e   co d w ith   h ea led   co d e.   C r o s s - s ite  s cr i p tin g   o r   XSS  v u ln er ab ilit y   was  f i x ed   u s in g   th is   p r o to t y p e.   T h is   ap p r o ac h   th en   Evaluation Warning : The document was created with Spire.PDF for Python.
                      I SS N :   2 0 8 8 - 8708   I n t J   E lec  &   C o m p   E n g ,   Vo l.  10 ,   No .   4 A u g u s t   2020   :   3 7 7 7   -   378 7   3782   g u id ed   f o r   f i x i n g   b u f f er   o v er f lo w s   au to m atica l l y   w it h o u h u m a n   in ter v en tio n   [ 2 4 ] .   A   co m b i n atio n   o f   b o th   s tatic  a n d   d y n a m ic  a n al y s i s   t ec h n iq u es  w a s   u s ed   f o r   t h d etec tio n   o f   b u f f er   o v er f lo w   i n   b in ar y   f iles   [ 2 5 ] .     T h l o ca tio n   o f   th v u ln er ab il it y   ca n   b f o u n d   b y   s tatic  a n a l y s i s   a n d   th e n   t h ese   v u l n er ab i liti es  ar tes ted   b y   d y n a m ic  an a l y s is   to   r e m o v e   f alse  p o s iti v es.  T h is   tec h n i q u w o r k s   b y   c o n v er ti n g   t h b in ar y   f i les  i n to   ass e m b l y   lan g u ag a n d   th en   ap p ly   b o th   s tatic  an d   d y n a m i tech n iq u e s   to   f in d   th o v er f lo w   p o in ts .   R e s u l ts   s h o w ed   th a v ar io u s   o v er f lo f u n ctio n s   s u c h   as  s tr cp y ,   s tr c at  an d   s p r in t f   s h o u ld   b ch a n g ed   b y   m o r s ec u r f u n ctio n s   s u c h   as  s tr n cp y ,   s tr n ca an d   s n p r in t f   r esp ec tiv el y .   Ho w ev er ,   o u r   ap p r o ac h   u s es  o n l y   s ta tic   an al y s i s   f o r   f ix i n g   b u f f er   o v er f lo w s .   An   i n te g r ated   f r a m e w o r k   [ 2 6 ] ,   w a s   d ev e lo p ed   to   f i n d   v u l n er ab ilit ies   i n   w eb   ap p licatio n s   u s i n g   s tatic  a n al y s is   ap p r o ac h .   T h f r a m e w o r k   is   s h o w n   in   Fi g u r e   5 .   T h is   h el p s   p r o g r a m m er s   to   p r o d u ce   s ec u r co d b ef o r s o f t w ar e   d ev elo p m e n t.           Fig u r 5 .   So f t w ar s el f - h ea li n g   f r a m e w o r k   [ 2 3 ]       3 . 1 .     P r o po s ed  a uto m a t ed  a pp ro a ch   I n   o u r   p r o p o s ed   ap p r o ac h ,   d if f er en t   m o d u les   ar d is c u s s ed   s ep ar atel y .   T ab le  2   h o ld s   u s ef u ar tic les   f o r   f i x in g   d i f f er e n t y p e s   o f   b u f f er   o v er f lo w   v u l n er ab ilit ies.   I n   th i s   w o r k ,   s o u r ce   co d is   a n al y ze d   u s i n g   s tatic   an al y s is   to o an d   v u l n er ab le  m o d u les   ar f o u n d .   Miti g atio n   s tr ateg ies  f r o m   p u b lic  v u ln er ab ilit y   r ep o s ito r y   ar e   tr an s f o r m ed   in to   s tan d ar d ized   r u les.  T h ese  r u les  ar t h en   u s ed   b y   t h s o u r ce   co d h ea l in g   m o d u le  w h ic h   tr an s f o r m s   v u ln er ab le  s o u r ce   co d in to   h ea led   co d e.   I f   m i t ig atio n   s tr ateg y   a g ai n s t a n y   v u ln er ab ilit y   d o es  n o ex is t,   th e n   th e   p u b lic  v u l n e r a b ilit y   r ep o s ito r y   is   u p d ate d   m a n u al l y .   T h s o u r ce   co d h ea li n g   m o d u le  tr an s f o r m s   t h ese  m an u al   s o l u ti o n s   in to   au to m ated   s ta n d ar d ized   r u les  r esu lti n g   in   m o d if ie d   co d e   as  s h o w n   in   Fig u r 2 .   Ou r   r esear ch   co m p r i s es o f   t h f o llo w i n g   r esear ch   q u esti o n s .   -   R Q1 Ho w   ca n   t h m i tig at io n   s tr ateg ies  i n   C W E   ar ticles  f o r   f ix i n g   d i f f er e n t y p e s   o f   b u f f er   o v er f lo w   b e   u s ed   to   au to m atica ll y   h ea l t h v u l n er ab le  s o u r ce   co d e?   -   R Q2 .   Do es th a u to m ated   ap p r o ac h ,   in   R Q1 ,   co m p r o m i s th ac cu r ac y   o f   t h r esu ltan t so u r ce   co d e ?       4.   RE S E ARCH   M E T H O DO L O G Y   Static  an al y s is   is   u s ed   to   an al y ze   s o u r ce   co d e.   B o th   s tatic  an d   d y n a m ic  an a l y s is   tec h n iq u es  ca n   b e   u s ed   f o r   f in d i n g   t h b u f f er   o v e r f lo w   v u l n er ab ilit y .   Ho w e v er ,   s tatic  an a l y s is   s h o w s   b etter   r es u lts   b ec a u s s ta tic   an al y s is   ch ec k s   t h v u l n er ab i liti es  b e f o r s o f t w ar d ep lo y m en t.  T h d r a w b ac k   o f   th i s   tech n iq u i s   t h at  it   r esu lt s   in   h i g h   n u m b er   o f   f al s p o s itiv es.   O u r   p r o p o s ed   s y s te m   u s es  m iti g atio n   s tr ate g ie s   f o r   f ix i n g   d if f er en t   t y p es  o f   b u f f er   o v er f lo w s .   T h ese   m it ig at io n   s tr ateg ies  alo n g   w it h   e x is t in g   r esear c h   s tr ateg ies   ar u s ed   to   d ev elo p   p r o to ty p e.   T h s o lu tio n   to   f i x   U n ico d b u f f er   o v er f lo w   w as  u p d ated   m a n u all y   i n   p u b lic   v u l n er ab ilit y   r ep o s ito r y .   So u r ce   co d is   r u n   th r o u g h   th i s   p r o to ty p w h ich   r ep lace d   v u l n e r ab le  lin es  o f   co d w it h   s ec u r li n es.  A   m o d i f ied   v er s io n   o f   th s elf - h ea li n g   f r a m e w o r k   i s   s h o w n   i n   Fi g u r 6 .     Evaluation Warning : The document was created with Spire.PDF for Python.
I n t J   E lec  &   C o m p   E n g     I SS N:  2088 - 8708       A n   a u to m a ted   a p p r o a ch   to   fix  b u ffer   o ve r flo w s   ( A a mir   S h a h a b )   3783         Fig u r 6 Mo d if ied   v er s io n   o f   s o f t w ar s el f - h ea lin g   f r a m e w o r k       4 . 1 .     St a t ic  a na ly s is   t ool   KI UW A s tatic   an al y s is   to o s ca n s   t h s o u r ce   co d an d   m ea s u r es  i ts   q u a lit y .   I ts   tr ial   v er s io n   is   f r ee   an d   ca n   b ac ce s s ib le  o n   d e m a n d .   I r ef er en ce s   t h v u l n er ab ilit ie s   d ef i n ed   b y   O W A SP   an d   p u b lic   v u l n er ab ilit y   r ep o s ito r ies  i.e .   C W E .   I u s es  th C o d Qu ali t y   Mo d el  f o r   ev alu ati n g   s o f t w ar ch ar ac ter is t ics.   So m in d icato r s   o f   KI UW AN  ar s h o w n   i n   T ab le  3 .       T ab le  3 .   Su m m ar y   o f   k i u w an   i n d icato r s   I n d i c a t o r     D e scri p t i o n   S e c u r i t y     R e p u d i a t e   u n a u t h o r i z e d   u se r s t o   g e t   a c c e ss   R e l i a b i l i t y     M a i n t a i n s   a   s p e c i f i e d   l e v e l   o f   p e r f o r m a n c e   Ef f i c i e n c y     P r o v i d e s p e r f o r man c e   r e l a t i v e   t o   a v a i l a b l e   r e so u r c e   M a i n t a i n a b i l i t y     A d a p t a b l e   t o   c h a n g i n g   r e q u i r e me n t s a n d   f u n c t i o n a l   sp e c i f i c a t i o n   P o r t a b i l i t y     P o r t a b i l i t y   l i e s i n   c o d e   c o mp l e x i t y   R i s k   I n d e x     M e a su r e   h o w   mu c h   y o u r   c o d e   i s v u l n e r a b l e ?   G l o b a l   I n d i c a t o r     C a l c u l a t e t h e   w e i g h t e d   a v e r a g e   o f   t h e   c h a r a c t e r i s t i c s   o f   t h e   a p p l i c a t i o n   D e f e c t   S h o w s h o w   mu c h   r u l e s a r e   v i o l a t e d       4 . 2 .     St a t ic  a na ly s is   t ool   KI UW A is   s ta tic  an al y s i s   to o l   th at   s ca n s   th s o u r ce   co d an d   m ea s u r es  it s   q u alit y .   I ts   tr ial   v er s io n   i s   f r ee   a n d   ca n   b ac ce s s ib le  o n   d e m a n d .   I r ef er en ce s   t h v u l n er ab ilit ies  d e f i n ed   b y   OW A SP   an d   p u b lic  v u ln er ab ilit y   r ep o s ito r ies  i.e .   C W E .   I u s es  th e   C o d Qu alit y   Mo d el  f o r   ev alu a tin g   s o f t w ar e   ch ar ac ter is tic s .   So m i n d icato r s   o f   KI UW A ar s h o w n   i n   T ab le  3 .   T h m et h o d o lo g y   o f   o u r   p r o p o s ed   ap p r o ac h   is   ca r r ied   b y   m ak in g   th s ta tic  an al y s i s   o f   v u l n er ab le   s o u r ce   co d u s i n g   th KI U W A s tatic  a n al y s is   to o l.  So u r ce   co d f o r   d if f er en t y p e s   o f   b u f f er   o v er f lo v u l n er ab ilit y   is   s ca n n ed   in d i v id u all y .   R e s u lts   a f ter   s ca n n in g   s o u r ce   co d s h o w ed   d if f er e n t y p e s   o f   v u l n er ab ilit ie s .   T h ese   v u ln er a b ilit ies ar f u r th er   ca te g o r ized   as:   -   Vu l n er ab ilit ies b y   t y p e   -   Vu l n er ab ilit ies b y   la n g u a g e   -   Vu l n er ab ilit ies b y   p r io r it y   Am o n g   v u l n er ab ilit ies  b y   t y p e,   w s elec ted   v u l n er ab ilit ie s   r elate d   to   b u f f er   o v e r f lo w   a n d   a m o n g   lan g u a g es   C ++   w a s   s elec ted .   T h is   s ca n n ed   s o u r ce   co d is   r u n   t h r o u g h   t h s o u r ce   co d h ea lin g   m o d u le.     T h is   m o d u le  is   d ev elo p ed   u s i n g   r eg u lar   ex p r es s io n s .   T h ese  r eg u lar   ex p r es s io n s   s ea r ch   f o r   s p ec if ic  f u n ct io n   in   s o u r ce   co d an d   th a ttrib u tes  d ec lar ed   w it h   t h at  f u n cti o n   w er f o u n d .   F u n ctio n s   s u c h   as  s tr cp y ,   s p r i n t f ,   etc w er r ep lace d   w it h   s ec u r e r   f u n ctio n s   l ik s tr n cp y   a n d   s n p r in t f   r esp ec ti v el y   b y   u s in g   r eg u lar   e x p r ess io n s .   E x is ti n g   r esear c h   s tu d ie s   f o r   f i x i n g   d i f f er e n t y p es   o f   b u f f er   o v e r f lo w   v u ln er ab ilit y   a l o n g   w it h   t h C W E   m iti g atio n   s tr ateg ie s   ar co m b in ed   to g et h er   as  a   p ar o f   t h is   m o d u le.   T h s o u r ce   c o d h ea lin g   m o d u le   Evaluation Warning : The document was created with Spire.PDF for Python.
                      I SS N :   2 0 8 8 - 8708   I n t J   E lec  &   C o m p   E n g ,   Vo l.  10 ,   No .   4 A u g u s t   2020   :   3 7 7 7   -   378 7   3784   r ep lace s   v u l n er ab le   s o u r ce   co d w it h   h ea led   co d e.   Hea led   co d o b tain ed   as a   r esu lt o f   t h s o u r ce   co d h ea lin g   m o d u le   i s   t h en   s ca n n ed   u s in g   th s a m s tatic   an al y s is   to o l. T h m et h o d o lo g y   u s ed   to   h ea t h v ar io u s   t y p es   o f   b u f f er   o v er f lo w   v u l n er ab ilit ie s   is   s h o w n   i n   Fig u r e   7 .   A cc u r ac y   o f   an   au to m ated   ap p r o ac h   w ill  b m ea s u r ed   b y   ch ec k i n g   to   w h at  e x te n t h ese  v u l n er ab ilit ies   ar r e m o v e d   in   h ea led   co d e.   Ma tr ices  s u c h   as   r is k   i n d ex ,   g lo b al  in d icato r ,   an d   d ef ec ts   w er also   co m p ar ed .           Fig u r 7 .   Me th o d o lo g y       5.   E XP E R I M E NT S AN RE S UL T S   KI UW A s tatic  a n al y ze r   to o w a s   u s ed   to   d etec v u l n er ab ilit ies  i n   s o u r ce   co d es .   T h ex p er im e n tal   s etu p   is   s h o w n   i n   Fi g u r e   8 .   Op en - s o u r ce   co d es  f o r   d if f er en t y p e s   o f   b u f f er   o v er f lo w   v u l n er ab ilit ie s   w er s ca n n ed   in d iv id u all y .   A   p r o to t y p u s i n g   C W E   m iti g atio n   s t r ateg ies  to   f i x   d if f er en t y p es  o f   b u f f er   o v er f lo v u l n er ab ilit ie s   w a s   d ev elo p ed .   T h ese  co d es  w er p as s ed   t h r o u g h   p r o to t y p th a t   r ep lace d   v u l n er ab le  s o u r ce   co d w ith   h ea led   co d e.   Hea led   co d w a s   an al y ze d   u s i n g   t h KI UW A to o l.  A s   r es u lt,   v u l n er ab ilit ie s   ar e   r e m o v ed .   Vu l n er ab le  an d   h ea l ed   co d e   f o r   s tack - b ased   b u f f er   o v er f lo w   b ased   o n   th g u id e lin es  i n   C W E 1 2 1 - m aster   ar s h o w n   i n   Fi g u r 9 .   Vu l n er ab le  an d   h ea led   co d e   f o r   h ea p - b ased   b u f f er   o v er f l o w   is   s h o w n   in   Fi g u r 1 0 .   T h s a m p le   s o u r ce   co d ca n   b f o u n d   at  L P T - A r r Mi n Hea p - L e f ti s tT r ee - P o in t R es u lt s   ag ai n s d i f f er en t y p es  o f   b u f f er   o v er f lo w   v u l n er ab ilit y   ar s h o w n   in   T ab le  4 ,   it  is   o b v io u s   f r o m   th r es u lt s   th at  t h p r o p o s ed   p r o t o ty p to o w a s   ab le  to   f ix   v ar io u s   t y p es o f   b u f f er   o v er f lo w   er r o r s   in   th tar g et  s o u r ce   co d e.             Fig u r 8 E x p er i m en tal  s et u p   Evaluation Warning : The document was created with Spire.PDF for Python.
I n t J   E lec  &   C o m p   E n g     I SS N:  2088 - 8708       A n   a u to m a ted   a p p r o a ch   to   fix  b u ffer   o ve r flo w s   ( A a mir   S h a h a b )   3785       Fig u r 9 Fix i n g   s tac k - b ased   b u f f er   o v er f lo w           Fig u r 10 Fix in g   h ea p - b ased   b u f f er   o v er f lo w       T ab le  4 .   R esu lts d i f f er en t y p es o f   b u f f er   o v er f lo w s   B u f f e r   o v e r f l o w   t y p e   T a r g e t   S o u r c e   C o d e   N o .   o f   i d e n t i f i e d   v u l n e r a b i l i t i e s   B e f o r e   h e a l i n g   t h e   so u r c e   c o d e   A f t e r   h e a l i n g   t h e   so u r c e   c o d e   S t a c k - B a se d   B u f f e r   O v e r f l o w     C W E1 2 1 - mas t e r   18   16   H e a p - B a se d   B u f f e r   O v e r f l o w     L P T - A r r M i n H e a p - L e f t i st T r e e - P o i n t       19   5   F o r mat - S t r i n g   B u f f e r   O v e r f l o w     P a b l o d r o c a / C p p U n i c o d e T e st s   11   9   I n t e g e r - B a se d   B u f f e r   O v e r f l o w     C W E1 9 0 - B i g I n t - mast e r   11   2   U n i c o d e   B u f f e r   O v e r f l o w     T e st - U N I C O D E - S Y M B O L S r   24   20     S u mm a r y   83   52       I ca n   b o b s er v ed   t h at  3 1   b u f f er   o v er f lo w   er r o r s   o f   v ar io u s   t y p es  w er f i x ed .   V u ln er ab le  an d   h ea led   co d f o r   f o r m at - s tr i n g   b u f f er   o v er f lo w   is   s h o w n   i n   Fi g u r 1 1 .   T h s a m p le  s o u r ce   co d ca n   b f o u n d   at   P ab lo d r o ca /C p p Un ico d e T ests Vu ln er ab le  an d   h ea led   co d f o r   in teg er - b ased   b u f f er   o v er f lo w   b ased   o n   th g u id elin e s   i n   C W E   190   is   s h o w n   i n   Fi g u r 1 2 .   T h s a m p le  s o u r ce   co d ca n   b f o u n d   at  B i g I n t - m aster Vu l n er ab le  an d   h ea led   co d f o r   Un ico d b u f f er   o v er f lo w   c an   b f o u n d   i n   Fi g u r 1 3 .   T h s a m p le   s o u r ce   co d ca n   b f o u n d   at  T est - UNI C O DE - SYMB O L S .           Fig u r 11 Fix in g   f o r m at - s tr i n g   b u f f er   o v er f lo w             Fig u r 12 Fix in g   i n te g er - b ase d   b u f f er   o v er f lo w     Fig u r 13 Fix in g   u n ico d e - b as ed   b u f f er   o v er f lo w   Evaluation Warning : The document was created with Spire.PDF for Python.
                      I SS N :   2 0 8 8 - 8708   I n t J   E lec  &   C o m p   E n g ,   Vo l.  10 ,   No .   4 A u g u s t   2020   :   3 7 7 7   -   378 7   3786   6.   CO NCLU SI O AND  F U T U RE   WO RK   I n   t h is   s t u d y ,   we   f o u n d   th at   b u f f er   o v er f lo w ,   o n e   o f   t h g r o w in g   v u l n er ab ilit ies  b o t h   i n   s m all  a n d   lar g escale   s o f t w ar d ev elo p m en in d u s tr ie s .   Ma n u a ll y   f i x in g   th v u l n er ab ilit y   i s   ti m e - c o n s u m i n g   tas k   an d   m a y   in d u ce   p r o g r a m m i n g   e r r o r s .   A n   a u to m ated   ap p r o a ch   w as   p r o p o s ed   to   o v er co m t h is   p r o b le m .     A   p r o to t y p e   w as  d ev elo p ed   wh ich   a u to m atica ll y   f i x es  t h b u f f er   o v er f lo w   v u l n er ab ilit y .   Static  an a l y s is   to o l   KI UW A w as   u s ed   f o r   th e   d etec tio n   o f   th v u l n er ab ili t y .   R eg u lar   ex p r ess io n s   w er u s ed   to   r ep lac e   v u l n er ab le  s o u r ce   co d e   w i th   h ea led   co d e .   R esu lts   o b tain ed   f r o m   t h r esu lta n s o u r ce   co d w er m o r ac cu r ate   an d   ef f icie n th a n   t h m a n u a f i x in g   o f   b u f f er   o v er f lo w   v u l n er a b ilit y .   T h s co p o f   o u r   s t u d y   ca n   b e x te n d ed   b y   f o cu s in g   o n   o th er   v u l n er ab ilit ies  s u c h   as  SQ L   in j ec tio n   a ttack ,   b r o k en   ac ce s s   co n tr o l,  etc.   Sin ce   w h a v u s ed   t h C W E   v u l n er ab ilit y   r ep o s ito r y ,   o t h er   p u b lic  v u l n er ab ilit y   r ep o s ito r ies  ca n   b u s ed   as  k n o w led g e   b ase.   E x p er im e n tal  r es u lts   s h o w ed   th at  th s o u r ce   co d h ea lin g   m o d u le  alle v iated   v u l n er ab ilit ies  ag a in s t   ev er y   t y p o f   b u f f er   o v er f lo w .   B u t,  i n te g er - b ased   b u f f er   o v e r f lo w   o cc u p ies   m o r m e m o r y   as  I NT   d ata  t y p i s   r ep lace d   w i th   L ON L O NG  I NT .   I n   th f u t u r e,   th id en ti f ie d   d r aw b ac k   o f   th i s   s t u d y   ca n   b m in i m ized .       RE F E R E NC E S   [1 ]   A .   A g r a w a l,   M .   A len e z i,   R.   Ku m a r,   a n d   R.   A .   Kh a n ,   A   so u rc e   c o d e   p e rsp e c ti v e   f ra m e w o rk   to   p ro d u c e   se c u re   w e b   a p p li c a ti o n s,”   Co m p u ter   Fra u d   &   S e c u rity ,   v o l.   2 0 1 9 ,   n o .   1 0 ,   p p .   1 1 1 8 ,   2 0 1 9 .   [2 ]   H.  A sh ra f ,   M .   A len e z i,   M .   Na d e e m ,   a n d   Y.  Ja v id ,   S e c u rit y   a s se ss m e n f r a m e w o rk   f o e d u c a ti o n a e rp   s y ste m s,”   In ter n a t io n a J o u rn a o E lec trica a n d   C o mp u ter   En g in e e rin g   ( IJ ECE ) ,   v o l.   9 ,   n o .   6 ,   p p .   5 5 7 0 5 5 8 5 ,   2 0 1 9 .   [3 ]   C.   Co w a n ,   F .   Wag le,  C.   P u ,   S .   Be a tt ie,  a n d   J.  Walp o le,  Bu ff e o v e r f lo w s:  A tt a c k a n d   d e f e n se f o   th e   Vu l n e ra b il it y   o f   th e   d e c a d e ,   in   Pro c e e d i n g DA RP I n fo r ma ti o n   S u rv iva b i li ty  Co n fer e n c e   a n d   Exp o siti o n ,   DIS CEX ’0 0 ,   IE EE ,   v o l .   2 ,   p p .   1 1 9 - 1 2 9 ,   2 0 0 0 .   [4 ]   M .   Na d e e m ,   E.   B.   A ll e n ,   a n d   B.   J .   W il li a m s,  A   m e th o d   f o re c o m m e n d in g   c o m p u ter - se c u rit y   train in g   f o so f t w a r e   d e v e lo p e rs:  L e v e ra g in g   th e   p o w e o f   sta ti c   a n a l y sis  tec h n iq u e a n d   v u ln e ra b il i ty   re p o sito ries ,   in   2 0 1 5   1 2 th   In ter n a t io n a C o n fer e n c e   o n   I n fo r ma ti o n   T e c h n o l o g y - Ne Ge n e ra ti o n s.  I EE E p p .   5 3 4 5 3 9 ,   2 0 1 5 .   [5 ]   M .   Na d e e m ,   B. J.  W il li a m s,  G . L .   Bra d sh a w ,   a n d   E. B .   A ll e n ,   Hu m a n   su b jec e v a lu a ti o n   o f   c o m p u ters e c u rit y   train in g   re c o m m e n d e r,   in   IEE 4 0 t h   An n u a Co m p u ter   S o ft w a re   a n d   A p p li c a ti o n Co n fer e n c e   ( C OM PS AC)   v o l.   1 ,   p p .   2 5 1 2 5 6 ,   2 0 1 6 .   [6 ]   V .   Ra g h a v a n   a n d   X .   Zh a n g ,   An   in teg ra ti v e   m o d e o f   m a n a g in g   so f t w a r e   se c u rit y   d u rin g   in f o r m a ti o n   sy ste m d e v e lo p m e n t,   J o u rn a l   o f   In ter n a ti o n a T e c h n o lo g y   a n d   I n fo rm a ti o n   M a n a g e me n t ,   v o l.   2 6 ,   n o .   4 ,   p p .   8 3 - 1 0 9 ,   2 0 1 7 .   [7 ]   S .   Na sh im o to ,   e a l. ,   In tru sio n   p re v e n ti o n   s y ste m   in sp ired   imm u n e   sy ste m s,”   In d o n e si a n   J o u r n a o El e c trica En g i n e e rin g   a n d   C o mp u ter   S c ien c e   ( I J EE CS ) ,   v o l.   2 ,   n o .   1 ,   p p .   1 6 8 1 7 9 ,   2 0 1 6 .   [8 ]   S .   Na sh im o to ,   e t   a l . ,   Bu f f e o v e rf lo w   a tt a c k   w it h   m u lt ip le  f a u lt   i n jec ti o n   a n d   a   p ro v e n   c o u n term e a su re ,   J o u rn a l   o Cry p t o g ra p h ic E n g in e e rin g ,   v o l.   7 ,   n o .   1 ,   p p .   3 5 4 6 ,   2 0 1 7 .   [9 ]   J.  Re n ,   Z.   Z h e n g ,   Q.   L iu ,   Z .   W e i,   a n d   H.  Ya n ,   A   b u f f e o v e r f lo w   p re d ictio n   a p p r o a c h   b a se d   o n   so f t w a re   m e tri c a n d   m a c h in e   lea rn in g ,   S e c u rity  a n d   C o mm u n ica ti o n   Ne tw o rk s ,   v o l .   2 0 1 9 ,   2 0 1 9 .   [1 0 ]   N.  M c Ke lv e y ,   De v e lo p in g   a   se c u re   p ro g ra m m in g   m o d u le  to   c o p e   w it h   m o d e rn   v u ln e ra b il it ies ,   In ter n a t io n a l   J o u rn a o In fo rm a ti o n   a n d   Ne tw o rk   S e c u rity ,   v o l.   1 ,   n o .   1 ,   p a p e r .   4 1 ,   2 0 1 2 .   [1 1 ]   W .   X ie,  J.  Hu ,   P .   K .   Ku d jo ,   L .   Yu ,   a n d   Z .   Zen g ,   A   n e w   d e tec ti o n   m e th o d   f o s tac k   o v e rf lo w   v u ln e ra b il it y   b a se d   o n   c o m p o n e n b in a ry   c o d e   f o t h i rd - p a rty   c o m p o n e n t,   i n   2 0 1 8   IEE S ma rtW o rld ,   Ub iq u it o u In telli g e n c e   &   Co mp u t in g ,   A d v a n c e d   &   T ru st e d   Co mp u ti n g ,   S c a la b le  Co m p u ti n g   &   Co mm u n ica ti o n s,  C lo u d   &   Bi g   Da ta   Co mp u t in g ,   I n ter n e o Peo p le a n d   S m a rt Ci ty I n n o v a ti o n .   IEE E ,   p p .   1 2 5 5 1 2 5 9 ,   2 0 1 8 .   [1 2 ]   M .   M o u z a ra n i,   B.   S a d e g h iy a n ,   a n d   M .   Zo lf a g h a ri,   A   s m a rt  fu z z in g   m e th o d   f o d e tec ti n g   h e a p - b a se d   b u f fe r   o v e rf lo w   in   e x e c u tab le  c o d e s,”   i n   2 0 1 5   IEE E   2 1 st  P a c if ic  Ri m   In te rn a ti o n a S y mp o si u m   o n   De p e n d a b le  C o mp u ti n g   ( PR DC),   IEE E ,   p p .   4 2 4 9 ,   2 0 1 5 .   [1 3 ]   M .   M o u z a ra n i,   B.   S a d e g h iy a n ,   a n d   M .   Zo lf a g h a ri,   S m a rt  f u z z in g   m e th o d   f o d e tec ti n g   sta c k - b a se d   b u f fe r   o v e rf lo w   in   b i n a ry   c o d e s,”   IET   S o ft wa re ,   v o l .   1 0 ,   n o .   4 ,   p p .   9 6 1 0 7 ,   2 0 1 6 .   [1 4 ]   W .   Ha n ,   M .   Re n ,   S .   T ian ,   L .   D in g ,   a n d   Y.  He ,   S tatic  a n a ly sis  o f   fo rm a strin g   v u ln e ra b il it ies ,   in   2 0 1 1   Fi rs AC I S   In ter n a t io n a S y mp o si u m o n   S o f t wa re   a n d   Ne two rk   E n g i n e e rin g .   I EE E ,   p p .   1 2 2 1 2 7 ,   2 0 1 1 .   [1 5 ]   M .   J.  Kh a lsa n   a n d   M .   O.  A g y e m a n ,   A n   o v e r v ie w   o f   p re v e n ti o n /m it ig a ti o n   a g a in st  m e m o r y   c o r ru p ti o n   a tt a c k ,     in   Pro c e e d in g o th e   2 n d   I n t e rn a ti o n a l   S y mp o siu o n   Co m p u ter   S c ien c e   a n d   I n telli g e n Co n tro l ,   A CM   p a p e r 4 2 ,   2 0 1 8 .   [1 6 ]   B.   Zh a n g ,   C.   F e n g ,   B.   W u ,   a n d   C.   T a n g ,   De tec ti n g   in teg e o v e rf lo w   in   w in d o w b i n a ry   e x e c u tab les   b a se d   o n   s y m b o li c   e x e c u ti o n ,   in   2 0 1 6   1 7 t h   IEE E/ ACIS   I n ter n a ti o n a l   Co n fer e n c e   o n   S o ft wa re   E n g i n e e rin g Arti fi c ia l   In telli g e n c e ,   Ne two rk in g   a n d   Pa r a ll e l/ Distrib u ted   C o mp u ti n g   ( S N P D),   IEE E ,   p p .   3 8 5 3 9 0 ,   2 0 1 6 .   [1 7 ]   C.   Zh a n g ,   e a l. ,   I n tp a tch A u to m a ti c a ll y   f i x   in teg e r - o v e r f lo w - to b u f f e r -   o v e r f lo w   v u ln e ra b il it y   a c o m p il e - ti m e ,     in   E u ro p e a n   S y mp o si u m o n   Res e a rc h   in   Co mp u ter   S e c u rity.   S p rin g e r ,   p p .   7 1 8 6 ,   2 0 1 0 .   [1 8 ]   P .   M u n tea n ,   M .   M o n p e rru s,   H.  S u n ,   J.  G ro ss k lag s,  a n d   C.   Eck e rt,   In trep a ir:   I n f o rm e d   f i x in g   o f   in teg e r   o v e r f lo ws ,   a rXiv p re p ri n a rX iv :   1 8 0 7 . 0 5 0 9 2 ,   2 0 1 8 .   [1 9 ]   A .   I y e a n d   L .   M .   L ieb ro c k ,   V u l n e ra b il i ty   sc a n n in g   f o b u f fe o v e r f lo w ,   in   In ter n a ti o n a Co n fer e n c e   o n   In fo rm a t io n   T e c h n o l o g y C o d i n g   a n d   Co m p u ti n g ,   2 0 0 4 .   Pro c e e d in g s ,   IT CC  2 0 0 4 ,   v o l.   2 ,   p p .   1 1 6 1 1 7 ,   2 0 0 4 .   [2 0 ]   A .   S h a w ,   D.  Do g g e tt ,   a n d   M .   Ha f iz,  A u to m a ti c a ll y   f ix in g   c   b u ffe o v e rf lo w u sin g   p ro g ra m   tran s f o r m a ti o n s,”   in   2 0 1 4   4 4 t h   A n n u a l   IEE E/ I FIP   I n te rn a ti o n a Co n fer e n c e   o n   De p e n d a b le  S y ste ms   a n d   Ne two rk s ,   p p .   1 2 4 1 3 5 ,   2 0 1 4 .   Evaluation Warning : The document was created with Spire.PDF for Python.