Merken

You need more security in your application packaging

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
alright you need more security in your application packaging you can catch it has a Lipschitz the boring part out of the way uh and uh system administrator um awarded had as a support engineer and I'm a little bit of a soul to guide so don't panic if I get to single or angry and I'm also a member of disarming his armies the Argentinians systems community and I'm also 1 of the organizers for their down which is kind of like our nerd conference down there and if you're wondering how it looks like the picture over a thousand hertz all together in the same place
so before we actually begin to
talk I have a fair warning to give you a as I said I'm a system administrator and not a developer and the opinions on this talk are my own and they're based on my experience in my observations on the subject uh they still has a fair bit of jokes of all of which are made we that good faith um and I have to tell you a happening magic solution for 1 of about 2 to show you I'm only pointing out the problems and showing you what we have right now I'm throwing my idea so we can ignite a conversations use composition of this topic and most importantly always look on the bright side of life so so 1st things 1st we just saw the term security and packaging together um so let's say that the boring divisions of the way and define both so so packaging is the process through which an application is the delivered the
2 and user whereas security uh not what I want that when
uh this type of security in the broadest sense of the term Information Security we're talking about being protected against the unauthorized use of information this typically involves an attacker and attack an application in order to gain something from it like for example stealing use that with a show
of hands how many of you have actually related to both terms security and packaging might ever it doesn't count the you so that the title of the talk this an ugly good so you're probably wondering what's the deal why am I meeting both terms since you probably never thought of mixing those and while making a talk about this when there's so much good out in there in the world with it's not the deal is that the current state of delivering software but regarding his we devote about sorry to security implications is something like this so where the little house
the prairie and we're about to be engulfed by apart classifiers and where we want to
go is this and some
people think always school with the war and we're ready there but unfortunately we're not and as teacher so we're dead
so in order to understand the point of all
this women have to 1st look at the different roles involving getting an application from developer to at the end user and that we will be able to understand what the problem is I also note that some of the roles that I'm going to talk about might not be that I didn't at 1st so we 1st have the developer
and that would be I think most of you guys are the developer is mainly focused on protein and drinking coffee I think uh he's the 1 who knows the knows about the application the architecture etc. and also the correct way to install the application on the other side of the spectrum we have at the end user
the end user just once the application to work and that is assuming we have a way of knowing what the user wants whoever tells you that the splitting the line we don't have any clue what the user wants and the user of course knows next to nothing about the application he's just the user uh he doesn't know how to install it he's basically as hopeless as this given a baby kid but helpless yeah now
for the more obscure roles we have 1st the system administrator
whether you're running a hosted service for your application or you want to the deliver definition to users or just keep the infrastructure running you're gonna need someone vast systems knowledge and it's got the this guy maybe not the skeptical about someone who looks like that so what is the system administrator once a as Assistant Minister against this we want a free weekend free we can no work and maybe of Europe would be nice so for that to happen the application has to be uh in 2 but in simple terms as easily installable and must not crashed or you must survive act the attack whatever if it doesn't we have a happy to 7 and last but not least there's the security
administrator or info for short I know sigh I actually know some of these guys that big security conference in in Argentina every year and all they want is to see the war Brown that's really all they want but actually not all companies might have these guys and indicates some companies the information security role might be mixed in with other roles like networking and what not and to all those companies out there without a guy like this I'm going to tell you this you don't so to put
things into perspective and the understand how the all the rules work together and it's like this everything starts with a developer
deciding pay less release this this make these available for users he then goes over to the system administrator uh so the application can be deployed available wherever and eventually the application is delivered to the end user so this is the minister is basically all or breach here then the info say guys comes along and he seems to be lashing out at everybody but in fact what he's actually doing involves interacting with all 3 roles he gives security guidelines to the developers and programmers to architecture good coding practices he used architectural guidelines as well as to open operations practice to this sentence and what these 2 are a proactive once so he wants to prevent bad stuff happening but there's also a reactive 1 uh in which he tries to keep the user of a whenever the user decides to become a
hacker and attacked the application so in
short the system administrator guide will save
you package the application and delivery to users whereas the InfoSec administrators the
person making sure things run as smoothly as possible and nobody dying in the process so these 2 guys but maybe for some of you it's the 1 of the 1st times you've heard about these guys especially the but you really wanna be friends with these guys being friends will make your life much much easier so now we can
begin to see uh the problems that are inherent in this war and the first one being that there's a gap between the developer and user goes developer only once to code and the user doesn't know how to install Application how hot for this crime and when the so this cat could be divided into axis the 1st axis is the ease of installation and this is basically essentially taken care of by the system administrator I would be keeping the hosted of up and running taking to package the application so it can be installed by the users of the system affairs guidelines and the 2nd axis is the security implications so this is overseen by it was a guy basically the users that once the application and on the data that they're putting to the application to be 100 per cent security which we almost will never be a developer might not so focused on the security side of things so here's when the superior Ministry comes into the picture um when Agassi much more about this system and history this is a mystery finally have a free weekend and is now enjoying the sphere so we're happy for him the so basically at this point it was a guy comes in boxes into the room takes over everyone stays and sets the Office of the so we have these 2 axes that just show you on the caveat here is that both axes are in fact related because Mory's unification is to install and typically the less security applications and vise versa the 2nd problem we have and this is not inherently related to security but more related uh in an indirect way when we look at it in terms of packaging is the dependencies problem but I'm sure everybody in this room at some point have to deal with dependencies uh so basically you have to ensure that you have all the dependencies every time you want to release replication but not only you have to make sure that you have all the right dependencies you also have to make sure that you got the right versions of the dependencies and eventually this problem will get very very very large and it's a which collectively known as dependency hell so solving the dependencies that problem is the thing thing that is the thing that we must take care of and in order to do that we need to choose a packaging method but there are many ways to package navigation and we're going to be looking at them right now so the question would be essentially which 1 is the right 1 which wants to reduce so regarding the different approaches that we can take em partition application this is uh part that I've been dealing with for a lot of years uh let's go over 1 we want the first one we have to use the to be called get it from the internet and run it just in 1 line of Bashir whatever so this is what comes to my mind whenever I find a petitioner 1 a try out and how it is always something like this so i'm blindly writing code from the internet in 2017 come on what you mean I shouldn't be looking at your go there should just trust you and finally I it's it's only 1 command so nice and fact tight all you had to do was build 1 big blob of binary shenanigans but what is the cost and I work and technical support and with the amount of security vulnerabilities I see everyday use of secure approach that I seriously can fathom how many things
can go wrong with this so this forget about this for a 2nd list so next after we
have an active have or kid or any kind of version control you uh offered the version version 2 to users so show of hands again everybody how many of you install software from github lorikeet or any other every post talking as this now uh how many of you actually read the code you're
installing OK but as good as an ethanol hands were going to be raised this point so that we're getting there I
mean we need is right we need a place to those are coded in we hopefully if you're pursuing an open-source approach with any what otherwise nobody's gonna respect us uh at least everyone now gets to see the code that as so not everyone does them ideally what we have this approach we can already start documenting the dependencies of our project so that's solves 1 of the problems and the person on the other and download new project should know whether getting on what should they need to have in order for the application form property remember that not everyone raise goes of these might not always be true but I do know that there's nothing and nobody actually in force and this this there's no 1 forcing us to uh put up on dependencies document or anything of that sort you can basically upload anything you want to date have because you're a strong independent human being but that's not enough you need to be a responsible to and the last thing to note is that experienced users are going to look for this kind of approach because let us ministers or impose a guys want to look at the code want to know what the code has inside of it so yeah I wish we should always have this available but it should not be the main way of packaging the application there are the new trend in the cell for last couple of years is to use or background or whatever image format is new here in town uh we have admit this is quite easy to use and easy to install and it's almost guaranteed to work they also souls are dependency problem because we can just on all inside in the image uh that is in fact 1 of the main reasons for using this approach forget dependencies but from the user's perfected do we actually know what's inside the container I mean I know we're talking about an open format so we can this assembly and look inside it but we're actually encourage you to do it so it has a tendency to the dark and another problem with this approach is that somebody could be enticed to stop fondling memories and dependencies into it so that it make it makes it way easier for users use and at some point you have basically of big blob of things and also when you have that many dependencies you have to rebuild the image not only when you update the application but also when the dependencies are updated for example in the case of a superior parliament so basically this is akin to invite this land mind into your
home see with the dependency problem can take us we just wanted to have make they have have big application available for users just the simple obligation and now we have this new form of the god fearless creature in a liberal so the
next approach these people applied by which I'm assuming many here familiar with but for sure we're solving the dependencies problem and with the more I and knowing that we're doing it right where uh gathering interdependencies from the same place and and it's with solutions like this where you reduce the need to start thinking about community oversight in scientific circles this would be akin to peer review you want somebody else to look at your application find bugs and errors on but not now there is some community oversights uh when you're installing a package from paper when you're uploading your during the upload after the upload uh some on you then see why in a minute but there's also some digital signature support but not in the way that we might know like GPG signatures it's rather via the tough framework the upper of the upgrade framework um of order and the the frame or is outside the scope of these notes are really encourage you to go ahead and take a read is really good and and now someone is thinking about security but 1 mean thing that can happen has happened with people or pipeline that is what this guy hope the eyebrows name right place suffer uh when states in the study were in the summary titles quantity package names to pi pi so for example instead of estimating simple Jason he's an adjacent in the hopes that some you might install it and you watch how many people install those fake packages um that's going to the to the study and lean meat there were lots and lots and lots of installations of these fake packages and you know what's the scariest part in all this and the reason behind it lies study is that the
brands arbitrary code from the internet I'm at saying gives out a solution and just saying we should keep that in mind whenever you double package there's arbitrary code being run and if you're not downloading the correct but if it's something bad is bound to happen and so the last method that we're going to cover
is stress specific package management uh this is saying that Linux distributions it can be rpm identify all the works and this is the part that requires the most work to set up but the thing here is that not necessarily you guys have the reverse happens work because the the Linux distros have a teams of people call package maintainers and package maintainers what they what they do is basically take your application once verification has become a little bit famous and to me once use it and a pack a ship for you so they're kind of packages as a service and the approach is relatively easy for end users to install because most of these approaches the solutions that now have a graphical update manager in addition to the console-based interface and most importantly that this is the approach that has the most potential in regards to security that distros can Sciandrone packages when they're in the cell channels and another good thing is that was you make it into a community-based true uh so for channel is the community that is tasked improving the the application sending you up reports of all this for the special prize for free so it would take a lot of time to go over this whole process and detailed but uh for those not familiar with the rest assured it is 1 of the most enriching things that can happen to use some so we see now fair knowledge different uh packaging approaches in terms of security and what they can provide so the question now is we go from here now remember we want to get from
here to here and I'm not saying we're going to make it just get midnight tomorrow not next week but at least we have to start reading the right way so we 1st have to at
least start trying to solve the gap problem so how we tackle this 1
it's very simple we just communicate is now the thing is a solution but it is the mandatory 1st step and 1 of the gap problems axis
was ease of installation and would way to reduce the gap on this axis is to have a good communication channel between developers and system administrators and this is what the devil this process is supposed to address alone in my opinion we still have a way to go and but basically the developer side should inform the cis and insights about the application architecture and help them understand the design process and the system administrators on the other hand should inform developers about the best practices regarding our operations and if you do this right so we can get to other places in terms of packaging itself and eventually make it better for the end users to now for the security axis of the gap the answer again is communication and this time between developers and and intersects a minister an example of what can happen when communications in this regard fails is the shelves of vulnerability and if you go so from a with a couple of years ago we had these people nobility in batch which is the main interpreter in any Linux this destroying unit system uh so as the 1st batch was released people started uh scrutinize batch and and the practice more more more and what happened is that on top of the original 1 ability we have not 1 not 2 but rather 5 different 1 of it is all in the span of a few days and this happened in 1 of the most used pieces of software in the open source for so it can happen to anyone but if you communicate good and and fast you can prevent as for the dependencies problem uh a good starting point is to stop making that in the for the users don't expect the users to always be dumb give them some headway and let them know particularly little bit and instead of choosing seemingly easy ways of delivering the application prioritize the cleanest and most open once they are out there and a good example of these are package managers would it be a language-specific package managers like likely or always a specific package managers like the are more apt or whatever and in fact there are other alternatives that have sprung up in the past year to a Laker flatpack or snap um and have enough time and the total over these ones but they're relatively new and they're worth considering because the ecosystem appears to be wanted to take that path and finally if you really want an adventure you can always go to destroy away now as you can probably tell by now I am a little bit biased and I do believe you have a good chunk of experience with the other methods so the aim of this that was point out all the the evidence and not so evident problems and provide another
way and before going to this away this important for you to understand the difference between a community Baptista an enterprise back stroke so in our community back to so their work is done mainly by volunteers people aren't being paid for that and they're just doing that because they love it whereas in enterprise by the sort of course there's
a company behind it and there's tons of money behind it it so so so it was gained enough traction in a community-based stroke uh and enterprise this will pick you up and then you have a more people looking at the code and making this distinction because there's a circle between community and enterprise so companies fall often offer volunteers to community distros and then take the community improvements back into the products so we had befriend the community and you befriend them all but of all you should really be a friend the package maintainers these the people in charge of getting yourself or to the users and if you communicate with them early and often and if you let them know would not release is going to happen maybe a few days in advance especially if we're talking about a security release that are making so much better and the idea is that you make use of the cycle easy for them and amenities make it easy for them and looking at you get yeah alright that's also now we have time for some questions I believe thank you
and yes yeah
so yeah yes thank you for showing that a lot of very few people although immigrants leave it at that uh recluse short on time so you're free to be will be able to have questions 1st OK and if you have any questions you can find me around the conference the next few days just look for the guy in the black hat that would be me those sort of more time they went and you did have a
few
Physikalisches System
Bit
Systemverwaltung
Selbst organisierendes System
Computersicherheit
Systemverwaltung
Kartesische Koordinaten
Physikalisches System
Computeranimation
Videospiel
Umsetzung <Informatik>
Bit
Prozess <Physik>
Systemverwaltung
Computersicherheit
Güte der Anpassung
Systemverwaltung
Annulator
Kartesische Koordinaten
Term
Division
Computeranimation
Physikalisches System
Luenberger-Beobachter
Softwareentwickler
Autorisierung
Computersicherheit
Datentyp
Computersicherheit
Kartesische Koordinaten
Information
Ordnung <Mathematik>
Term
Computeranimation
Software
Computersicherheit
Zählen
Term
Computeranimation
Aggregatzustand
Punkt
Kartesische Koordinaten
Softwareentwickler
Ordnung <Mathematik>
Computeranimation
Softwareentwickler
Heegaard-Zerlegung
Anwendungsspezifischer Prozessor
Kartesische Koordinaten
Computerarchitektur
Softwareentwickler
Punktspektrum
Gerade
Computeranimation
Physikalisches System
Dienst <Informatik>
Systemverwaltung
Computersicherheit
Systemverwaltung
Notepad-Computer
Kartesische Koordinaten
Physikalisches System
Term
Computeranimation
Datennetz
Perspektive
Computersicherheit
Systemverwaltung
Schlussregel
Information
Softwareentwickler
Computeranimation
Nichtlinearer Operator
Programmiergerät
Offene Menge
Computersicherheit
Güte der Anpassung
Codierung
Systemverwaltung
Kartesische Koordinaten
Computerarchitektur
Information
Hacker
Softwareentwickler
Computeranimation
Videospiel
Prozess <Physik>
Computersicherheit
Systemverwaltung
Kartesische Koordinaten
Elektronischer Programmführer
Computeranimation
Punkt
Quader
Systemverwaltung
Versionsverwaltung
Kartesische Koordinaten
Binärcode
Term
Kontextbezogenes System
Code
Computeranimation
Internetworking
Kugel
Code
Datenreplikation
Computersicherheit
Softwareentwickler
Stochastische Abhängigkeit
Gerade
Internetworking
Softwareentwickler
Benutzerfreundlichkeit
Computersicherheit
Systemverwaltung
Interpretierer
Physikalisches System
Partitionsfunktion
Office-Paket
Softwareschwachstelle
Mereologie
Computerunterstützte Übersetzung
Ordnung <Mathematik>
Versionsverwaltung
Software
Versionsverwaltung
Code
Computeranimation
Punkt
Kategorie <Mathematik>
Zellularer Automat
Kartesische Koordinaten
Benutzerfreundlichkeit
Code
Quick-Sort
Computeranimation
Arithmetisches Mittel
Spezialrechner
Open Source
Bildschirmmaske
Twitter <Softwareplattform>
Forcing
Code
Festspeicher
Grundsätze ordnungsmäßiger Datenverarbeitung
Dateiformat
Projektive Ebene
Ordnung <Mathematik>
Bildgebendes Verfahren
Beobachtungsstudie
Internetworking
Kreisfläche
Rahmenproblem
Computersicherheit
Kartesische Koordinaten
Optimierung
Elektronische Unterschrift
Code
Framework <Informatik>
Computeranimation
Internetworking
Programmfehler
Digitalsignal
Rechter Winkel
Code
Digitalisierer
Mereologie
Computersicherheit
Delisches Problem
Ordnung <Mathematik>
Lesen <Datenverarbeitung>
Aggregatzustand
Fehlermeldung
Umwandlungsenthalpie
Addition
Distributionstheorie
Freeware
Computersicherheit
Programmverifikation
Datenmanagement
Zellularer Automat
Kartesische Koordinaten
Term
Computeranimation
Softwarewartung
CLI
Graph
Dienst <Informatik>
Datenmanagement
Reverse Engineering
Mereologie
Normalspannung
Verkehrsinformation
Schnittstelle
Telekommunikation
Bit
Prozess <Physik>
Total <Mathematik>
Punkt
Kartesische Koordinaten
Benutzerfreundlichkeit
Term
Abenteuerspiel
Computeranimation
Homepage
Eins
Datenmanagement
Einheit <Mathematik>
Software
Computersicherheit
Äußere Algebra eines Moduls
Softwareentwickler
Formale Grammatik
Umwandlungsenthalpie
Interpretierer
Benutzerfreundlichkeit
Computersicherheit
Güte der Anpassung
Systemverwaltung
Physikalisches System
Rückkopplung
Rechter Winkel
Softwareschwachstelle
Computerarchitektur
PCMCIA
Stapelverarbeitung
Subtraktion
Kreisfläche
Amenable Gruppe
Computersicherheit
Biprodukt
Quick-Sort
Code
Computeranimation
Softwarewartung
Unternehmensarchitektur
Uniforme Struktur
Versionsverwaltung
Unternehmensarchitektur
Normalspannung
Besprechung/Interview
Quick-Sort

Metadaten

Formale Metadaten

Titel You need more security in your application packaging
Serientitel EuroPython 2017
Autor Santos, Juan Manuel
Lizenz CC-Namensnennung - keine kommerzielle Nutzung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben
DOI 10.5446/33728
Herausgeber EuroPython
Erscheinungsjahr 2017
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract You need more security in your application packaging [EuroPython 2017 - Talk - 2017-07-11 - Anfiteatro 2] [Rimini, Italy] There are as many different ways to package an application as there are programming or scripting languages. No one tool or library is in itself better than another; however when security comes into the picture, there is definitely a pattern between ease of installation and how secure the delivered application is. As more work is put into packaging the application, more measures can be taken in order to ensure its integrity and prevent security issues. This talk will cover: - The roles involved in the lifecycle of an application, from the start of the development process until it reaches the end user and it is actually used. - The inherent problems in this subject, regarding installation and security, as well as how they are related. - The different ways of packaging an application in order to deliver it to an end user, focused on a Python perspective. After the talk, attendees will have a better grasp on which is the best way for them to package and deliver their application according to their environment and target audience. They will also learn about the upgrade path to switch from one delivery method to another, should they need or want to. For this talk, it is desired that attendees have some general systems knowledge. Even though the talk will be focused on Python applications, some knowledge of information security is desired

Ähnliche Filme

Loading...