Author: Copy, B.
Paper Title Page
WEAAULT02 Model Oriented Application Generation for Industrial Control Systems 610
 
  • B. Copy, R. Barillère, E. Blanco Vinuela, R.N. Fernandes, B. Fernández Adiego, I. Prieto Barreiro
    CERN, Geneva, Switzerland
 
  The CERN Uni­fied In­dus­tri­al Con­trol Sys­tems frame­work (UNI­COS) is a soft­ware gen­er­a­tion method­ol­o­gy that stan­dard­izes the de­sign of slow pro­cess con­trol ap­pli­ca­tions [1]. A Soft­ware Fac­to­ry, named the UNI­COS Ap­pli­ca­tion Builder (UAB) [2], was in­tro­duced to pro­vide a sta­ble meta­mod­el, a set of plat­form-in­de­pen­dent mod­els and plat­form-spe­cif­ic con­fig­u­ra­tions against which code and con­fig­u­ra­tion gen­er­a­tion plu­g­ins can be writ­ten. Such plu­g­ins cur­rent­ly tar­get PLC pro­gram­ming en­vi­ron­ments (Schnei­der UNITY and SIEMENS Step7 PLCs) as well as SIEMENS WinCC Open Ar­chi­tec­ture SCADA (pre­vi­ous­ly known as ETM PVSS) but are being ex­pand­ed to cover more and more as­pects of pro­cess con­trol sys­tems. We pre­sent what con­sti­tutes the UAB meta­mod­el and the mod­els in use, how these mod­els can be used to cap­ture knowl­edge about in­dus­tri­al con­trol sys­tems and how this knowl­edge can be lever­aged to gen­er­ate both code and con­fig­u­ra­tion for a va­ri­ety of tar­get us­ages.
[1] H. Milcent et al, "UNICOS: AN OPEN FRAMEWORK", ICALEPCS2009, Kobe, Japan, (THD003)
[2] M. Dutour, "Software factory techniques applied to Process Control at CERN", ICALEPCS 2007, Knoxville Tennessee, USA
 
slides icon Slides WEAAULT02 [1.757 MB]  
 
WEBHAUST02 Optimizing Infrastructure for Software Testing Using Virtualization 622
 
  • O. Khalid, B. Copy, A A. Shaikh
    CERN, Geneva, Switzerland
 
  Vir­tu­al­iza­tion tech­nol­o­gy and cloud com­put­ing have a brought a paradigm shift in the way we uti­lize, de­ploy and man­age com­put­er re­sources. They allow fast de­ploy­ment of mul­ti­ple op­er­at­ing sys­tem as con­tain­ers on phys­i­cal ma­chines which can be ei­ther dis­card­ed after use or snap­shot for later re-de­ploy­ment. At CERN, we have been using vir­tu­al­iza­tion/cloud com­put­ing to quick­ly setup vir­tu­al ma­chines for our de­vel­op­ers with pre-con­fig­ured soft­ware to en­able them test/de­ploy a new ver­sion of a soft­ware patch for a given ap­pli­ca­tion. We also have been using the in­fras­truc­ture to do se­cu­ri­ty anal­y­sis of con­trol sys­tems as vir­tu­al­iza­tion pro­vides a de­gree of iso­la­tion where con­trol sys­tems such as SCADA sys­tems could be eval­u­at­ed for sim­u­lat­ed net­work at­tacks. This paper re­ports both on the tech­niques that have been used for se­cu­ri­ty anal­y­sis in­volv­ing net­work con­fig­u­ra­tion/iso­la­tion to pre­vent in­ter­fer­ence of other sys­tems on the net­work. This paper also pro­vides an overview of the tech­nolo­gies used to de­ploy such an in­fras­truc­ture based on VMWare and Open­Neb­u­la cloud man­age­ment plat­form.  
slides icon Slides WEBHAUST02 [2.899 MB]  
 
WEPKS001 Agile Development and Dependency Management for Industrial Control Systems 767
 
  • B. Copy, M. Mettälä
    CERN, Geneva, Switzerland
 
  The pro­duc­tion and ex­ploita­tion of in­dus­tri­al con­trol sys­tems dif­fer sub­stan­tial­ly from tra­di­tion­al in­for­ma­tion sys­tems; this is in part due to con­straints on the avail­abil­i­ty and change life-cy­cle of pro­duc­tion sys­tems, as well as their re­liance on pro­pri­etary pro­to­cols and soft­ware pack­ages with lit­tle sup­port for open de­vel­op­ment stan­dards [1]. The ap­pli­ca­tion of agile soft­ware de­vel­op­ment meth­ods there­fore rep­re­sents a chal­lenge which re­quires the adop­tion of ex­ist­ing change and build man­age­ment tools and ap­proach­es that can help bridg­ing the gap and reap the ben­e­fits of man­aged de­vel­op­ment when deal­ing with in­dus­tri­al con­trol sys­tems. This paper will con­sid­er how agile de­vel­op­ment tools such as Apache Maven for build man­age­ment, Hud­son for con­tin­u­ous in­te­gra­tion or Sonatype Nexus for the op­er­a­tion of "def­i­nite media li­braries" were lever­aged to man­age the de­vel­op­ment life-cyle of the CERN UAB frame­work [2], as well as other cru­cial build­ing blocks of the CERN ac­cel­er­a­tor in­fras­truc­ture, such as the CERN Com­mon Mid­dle­ware or the FESA pro­ject.
[1] H. Milcent et al, "UNICOS: AN OPEN FRAMEWORK", THD003, ICALEPCS2009, Kobe, Japan
[2] M. Dutour, "Software factory techniques applied to Process Control at CERN", ICALEPCS 2007, Knoxville Tennessee, USA
 
slides icon Slides WEPKS001 [10.592 MB]  
poster icon Poster WEPKS001 [1.032 MB]  
 
WEPKS026 A C/C++ Build System Based on Maven for the LHC Controls System 848
 
  • J. Nguyen Xuan, B. Copy, M. Dönszelmann
    CERN, Geneva, Switzerland
 
  The CERN ac­cel­er­a­tor con­trols sys­tem, main­ly writ­ten in Java and C/C++, con­sists nowa­days of 50 pro­jects and 150 ac­tive de­vel­op­ers. The con­trols group has de­cid­ed to unify the de­vel­op­ment pro­cess and stan­dards (e.g. pro­ject lay­out) using Apache Maven and Sonatype Nexus. Maven is the de-fac­to build tool for Java, it deals with ver­sion­ing and de­pen­den­cy man­age­ment, where­as Nexus is a repos­i­to­ry man­ag­er. C/C++ de­vel­op­ers were strug­gling to keep their de­pen­den­cies on other CERN pro­jects, as no ver­sion­ing was ap­plied, the li­braries have to be com­piled and avail­able for sev­er­al plat­forms and ar­chi­tec­tures, and fi­nal­ly there was no de­pen­den­cy man­age­ment mech­a­nism. This re­sults in very com­plex Make­files which were dif­fi­cult to main­tain. Even if Maven is pri­mar­i­ly de­signed for Java, a plu­g­in (Maven NAR [1]) adapts the build pro­cess for na­tive pro­gram­ming lan­guages for dif­fer­ent op­er­at­ing sys­tems and plat­forms. How­ev­er C/C++ de­vel­op­ers were not keen to aban­don their cur­rent Make­files. Hence our ap­proach was to com­bine the best of the two worlds: NAR/Nexus and Make­files. Maven NAR man­ages the de­pen­den­cies, the ver­sion­ing and cre­ates a file with the link­er and com­pil­er op­tions to in­clude the de­pen­den­cies. The Make­files carry the build pro­cess to gen­er­ate the bi­na­ries. Fi­nal­ly the re­sult­ing ar­ti­facts (bi­na­ries, head­er files, meta­da­ta) are ver­sioned and stored in a cen­tral Nexus repos­i­to­ry. Early ex­per­i­ments were con­duct­ed in the scope of the con­trols group's Testbed. Some ex­ist­ing pro­jects have been suc­cess­ful­ly con­vert­ed to this so­lu­tion and some start­ing pro­jects use this im­ple­men­ta­tion.
[1] http://cern.ch/jnguyenx/MavenNAR.html
 
poster icon Poster WEPKS026 [0.518 MB]  
 
WEPMU029 Assessment And Testing of Industrial Devices Robustness Against Cyber Security Attacks 1130
 
  • F.M. Tilaro, B. Copy
    CERN, Geneva, Switzerland
 
  CERN (Eu­ro­pean Or­ga­ni­za­tion for Nu­cle­ar Re­search),like any or­ga­ni­za­tion, needs to achieve the con­flict­ing ob­jec­tives of con­nect­ing its op­er­a­tional net­work to In­ter­net while at the same time keep­ing its in­dus­tri­al con­trol sys­tems se­cure from ex­ter­nal and in­ter­nal cyber at­tacks. With this in mind, the ISA-99 [1] in­ter­na­tion­al cyber se­cu­ri­ty stan­dard has been adopt­ed at CERN as a ref­er­ence model to de­fine a set of guide­lines and se­cu­ri­ty ro­bust­ness cri­te­ria ap­pli­ca­ble to any net­work de­vice. De­vices ro­bust­ness rep­re­sents a key link in the de­fense-in-depth con­cept as some at­tacks will in­evitably pen­e­trate se­cu­ri­ty bound­aries and thus re­quire fur­ther pro­tec­tion mea­sures. When as­sess­ing the cyber se­cu­ri­ty ro­bust­ness of de­vices we have sin­gled out con­trol sys­tem-rel­e­vant at­tack pat­terns de­rived from the well-known CAPEC [2] clas­si­fi­ca­tion. Once a vul­ner­a­bil­i­ty is iden­ti­fied, it needs to be doc­u­ment­ed, pri­or­i­tized and re­pro­duced at will in a ded­i­cat­ed test en­vi­ron­ment for de­bug­ging pur­pos­es. CERN - in col­lab­o­ra­tion with SIEMENS –has de­signed and im­ple­ment­ed a ded­i­cat­ed work­ing en­vi­ron­ment, the Test-bench for Ro­bust­ness of In­dus­tri­al Equip­ments [3] (“TRoIE”). Such tests at­tempt to de­tect pos­si­ble anoma­lies by ex­ploit­ing cor­rupt com­mu­ni­ca­tion chan­nels and ma­nip­u­lat­ing the nor­mal be­hav­ior of the com­mu­ni­ca­tion pro­to­cols, in the same way as a cyber at­tack­er would pro­ceed. This doc­u­ment pro­vides an in­ven­to­ry of se­cu­ri­ty guide­lines [4] rel­e­vant to the CERN in­dus­tri­al en­vi­ron­ment and de­scribes how we have au­to­mat­ed the col­lec­tion and clas­si­fi­ca­tion of iden­ti­fied vul­ner­a­bil­i­ties into a test-bench.
[1] http://www.isa.org
[2] http://capec.mitre.org
[3] F. Tilaro, "Test-bench for Robustness…", CERN, 2009
[4] B. Copy, F. Tilaro, "Standards based measurable security for embedded devices", ICALEPCS 2009
 
poster icon Poster WEPMU029 [3.152 MB]