Sunday, October 21, 2012

Security and Objects

Mobile code is one of the great challenges for software security. Lets say  you are writing an email application. The idea that people could send little apps to each other in email messages might seem like a potentially interesting feature: users could build polls, schedule meetings, play games, share interactive documents. Kind of cool.

And if the platform you are building upon supports reflectively evaluating code, it could be as easy as something like this (in OO pseudocode):

    define load_message(message)
        ...
        eval(message.code)

Of course it can't be that easy. What if the code in the message does something like:

    new stdlib.io.File("/").delete()

The standard way to avoid the vulnerability is to put the code in a so-called sandbox. It sounds very secure, but in practice this usually amounts to gathering up a list of "dangerous" call sites and inserting in each some code to check if the caller has permission to proceed. So the implementation of delete would include code along the lines of:

    define delete()
        if VM.callStackContainsEvilCode?()
            raise YouShallNotPassException()

        ...

This is fraught with problems. It requires runtime support for inspecting the call stack and a system for declaring that certain code has some level of authorization while some other code has a lower level. Not to mention the busywork of going trough the code and peppering that little snippet over every suspect call site. If you miss one — say, for instance, a method that gets the addresses of all contacts on your email application — and you have a security bug on your hands.

A better way ?

Perhaps there is a better way. Take another look at the offending line: new stdlib.io.File("/").delete(). It is only able to call the dangerous delete() method because it has a reference to a file object pointing to the root of the filesystem. And it only has that reference because it could reach for the File class on a global namespace. What if there was no global namespace?

It might seem weird, but it's not that hard to imagine a programming system lacking a global namespace. Many object-oriented languages, following Smalltalk's lead, have a notion of a metaclass, an object that represents a class. Many of them (also following Smalltak) also get by without a "new" operator. Objects are created by calling a method — usually named new() — on the metaclass object.

We are very close now. The last step, unfortunately not taken by most common languages, is to avoid anchoring the metaclass object onto a global namespace. The result is that code can only create objects of the classes it holds a reference to. And it only has a reference if it is given one via a method or constructor parameter.

Proceeding recursively, we end up with a stratified program. There is an entry point that receives a reference to the entire standard library, and each call site decides how much authority to grant each callee. On our example, when we evaluate external code we can grant very little authority, meaning we can pass the evaluated code just a handful of references. Care must be taken so that none of them will direct or indirectly provide a way to create a File. In a way, object design becomes security policy.

And we get very fine-grained control over such policy. We could, for instance, grant loaded code authority to write on a designated directory just by passing it a reference to the Directory object for that directory. Our choices get even more interesting when we realize we can pass references to proxies instead of real objects in order to attenuate authority. Continuing with our example, hoping it doesn't get too contrived, we could build a proxy for the Directory that checks if callers exceed a given quota of disk space.

Research

I have mentioned above that most common languages don't fit this post's description. But there are languages that do, a prime example is E. In fact, there is a whole area of research for dealing with security in this manner, it's called "object capability security".

I'm not really a security guy, I got interested in the area due to the implications for language and system design. If you got interested, for any reason, please check out Mark Miller's work. He is the creator of the E language and the javascript-based Caja project. His thesis is very readable.

483 comments:

«Oldest   ‹Older   401 – 483 of 483
Robbie Simons said...

Research Paper Help
Research Paper Writing Service
Write My Paper For Me
Legitimate Essay Writing Services
Dissertation Statistics Help
CDR Report Writers
CDR Engineers Australia
CDR Writing Services

EDU said...

This is truly an practical and pleasant information for all and happy to see this awesome post by the way thanks for sharing this post.
Data Scientist Course in Noida

Akshay said...

So luck to come across your excellent blog, glad i found it. Keep posting new articles. Good luck.
Data Science Course Details

Raghav said...

I finally found a great article here. Quality postings are essential to get visitors to visit the website, that's what this website offers.
Data Science Course in Indore

Dettifoss IT Solutions said...

A splendid job! Thank you for blog. you write very nice articles, I visit your website for regular updates.
AWS DevOps training in Hyderabad

Dettifoss IT Solutions said...

A splendid job! Thank you for blog. you write very nice articles, I visit your website for regular updates.
servicenow training and placement in hyderabad

Mallela said...

Thanks for posting the best information and the blog is very good.data science training in rajkot

Anonymous said...

I want to leave a little comment to support and wish you the best of luck.we wish you the best of luck in all your blogging enedevors
data scientist course in faridabad

Technical Knowledge said...

I just got to this amazing site not long ago was actually captured with the piece of resources you have got here and big thumbs up for making such wonderful blog page!
Data Scientist Course

Professional Education Center said...

Very good message. I came across your blog and wanted to tell you that I really enjoyed reading your articles.


Business Analytics Course in Nashik

Career Courses Academy said...

It's like you've got the point right, but forgot to include your readers. Maybe you should think about it from different angles.


Business Analytics Course

Unknown said...

Enjoying the great outdoors through camping, fishing, hiking, biking can be more memorable if you are not worried about going back home as soon as the sun starts setting. To last longer in the outdoors, a well-furnished recreational vehicle(RV) will come in handy where you will feel at home after the whole day’s experience with nature. Read more about Best Electric Tankless Water Heater for RV

anonymous said...

I want to leave a little comment to support and wish you the best of luck.we wish you the best of luck in all your blogging enedevors
data analytics course in varanasi

anonymous said...

I want to leave a little comment to support and wish you the best of luck.we wish you the best of luck in all your blogging enedevors
data analytics course in thiruvananthapuram

Unknown said...

Awesome blog. I enjoyed reading your articles. This is truly a great read for me. I have bookmarked it and I am looking forward to reading new articles. Keep up the good work!data scientist course in ghaziabad

anonymous said...

I want to leave a little comment to support and wish you the best of luck.we wish you the best of luck in all your blogging enedevors
data scientist course in trivandrum

Gaurav said...

ketu in 12th house is a very auspicious Yoga for people who have the desire to travel to foreign lands and settle in a foreign country.

Anonymous said...

I want to leave a little comment to support and wish you the best of luck.we wish you the best of luck in all your blogging enedevors
data analytics course in trivandrum

Ramesh Sampangi said...

Nice blog and informative. I appreciate your efforts in this blog. Wishing you the best of luck in your future blogs.
AI Patasala Data Science Training in Hyderabad

FamilyTreeMakerHelps said...

The word “FAMILY” plays a vital role in every human life because family comes as a top priority; Family tree maker 2019 upgrade we are well aware of that. Like a tree has its root, stem, branches, leaf, flowers, the same as the ancestry login has its structure like grandparents, parents, child, and it keeps continuing from generation to generation. “Family tree,” yeah, just two simple words, but these two words are highly important for everyone’s life.

Essien said...

I like this blog very much because its a really nice article to read and get more information and lovely place every one will love to learn from. Thanks for sharing. Also visit godfrey-okoye university cut off mark

kumal kumar said...

This is an informative and knowledgeable article. therefore, I would like to thank you for your effort in writing this article.
Business Analytics Course in Chandigarh

Robbie Simons said...

Student Assignment Help
online assignment help
Statistics Assignment Help
Essay Help
assignment help melbourne

Unknown said...

In most scenarios, cipd assignments answers tend to revolve around human resource management or HR development.

denise said...

We provide the best Surveying Assignment Help in the market today.

Bhuvankumar said...

A good blog always contains new and exciting information that helps readers to get useful information I am sure this is it.
Data Science Course in Lucknow

data science bangalore said...

I was curious if you ever thought of changing the layout of your site? Its very well written; I love what youve got to say. But maybe you could a little more in the way of content so people could connect with it better. Youve got an awful lot of text for only having 1 or 2 pictures. Maybe you could space it out better?|

Professional Writers Online said...
This comment has been removed by the author.
HIGS software said...

http://higssoftware.com/thesis-writing-services.php
HIGS- the best thesis writing or dissertation writing service in India, we explain to you about thesis writing, thesis writing definition and we offer endless thesis writing services or dissertation writing. We offer the best thesis writing help for all our clients across the globe. With us, you will definitely achieve the goal of success. Our team always gives our hands in providing help for thesis writing and we extend of horizons of knowledge in many places such as PhD thesis writing service in Chennai, Delhi, Hyderabad, Bangalore, Kerala, and more. With our great help in thesis writing service, you will get the best thesis writing help by meeting the high-level standard.

Unknown said...

ij.start.canon
is the manufacturer site to download Canon printer drivers. Install and set up Canon Printer from https: //ij.start.canon and obtain high-quality printing documents straightforwardly.

https//ij.start.cannon is actually the official site of ij start canon that helps you install the latest printer drivers and software. Visiting http //ij.start.cannon
provides you a complete list of all canon printers where you’ve to select your printer model and download the correct setup file

Unknown said...

Canon IJ Network Tool is a toolkit software with the options to keep a check on most of your Canon printer network settings and adjust them according to your requirements.

Canon IJ Printer Utility is a complete software package meant to adjust and modify the configurations of your printer device as per the requirement. It is one of the essential utility software offered by Canon to ease your printer configuration alteration using a few clicks.


Canon.com/ijsetup/mg2500
is the Canon support link to get you the latest printer drivers and software to set up your PIXMA MG2500 or MG2520.

Tech Institute said...

Really impressed! Information shared was very helpful Your website is very valuable. Thanks for sharing.
Business Analytics Course in Bangalore

data science bangalore said...

I finally found great post here.I will get back here. I just added your blog to my bookmark sites. thanks.Quality posts is the crucial to invite the visitors to visit the web page, that's what this web page is providing.data science course in rohtak

Professional Academic Institute said...

It's like you've got the point right, but forgot to include your readers. Maybe you should think about it from different angles.

Data Scientist Course in Erode

Professional Course said...

Really, this article is truly one of the best in article history. I am a collector of old "items" and sometimes read new items if I find them interesting. And this one that I found quite fascinating and should be part of my collection. Very good work!

Data Scientist Training in Bangalore

traininginstitute said...

It is extremely nice to see the greatest details presented in an easy and understanding manner.
data scientist course

Data Science said...

Extremely overall quite fascinating post. I was searching for this sort of data and delighted in perusing this one.
Continue posting. A debt of gratitude is in order for sharing.
data science course in kolhapur

Shubham Saini said...

Nice Blog! such a informative things you are sharing ,I really liked your content. If you wanna know about "Skillslash | Training with live industry experience that gets you hired" go to Data science courses in bangalore

data analytics courses said...

Great to become visiting your weblog once more, it has been a very long time for me. Pleasantly this article i've been sat tight for such a long time. I will require this post to add up to my task in the school, and it has identical subject along with your review. Much appreciated, great offer.https://360digitmg.com/course/data-analytics-using-python-r

Assignment Answers Online said...

We are a top rated SIT221 Online service here with experts specializing in a wide range of disciplines ensuring you get the assignments that score maximum grades.

Anonymous said...

I want to leave a little comment to support and wish you the best of luck.we wish you the best of luck in all your blogging enedevors
business analytics course in varanasi

myassignmenthelp said...

I am glad after coming on this site! It has the information that I was searching from so long. Students struggling to write their academic assignments can pick for our assignment help service and can get a well written work from us.
petroleum engineering assignment help

Anonymous said...

ij.start.canon helps to set up canon printer. It’s the online support platform to download and install canon printer drivers, firmware, and software Https //ij.start.cannon , ij.start.canon

DEEPANSHU TANDON said...

white pencil studio is a creative agency that harnesses creativity , technology , and culture to create connected brands and beautiful experiences.seo agency dubai.

Career Academic institute said...

It's like you've got the point right, but forgot to include your readers. Maybe you should think about it from different angles.

Data Scientist Training and Placement Bangalore

Adult product in India said...

I am very very impressed with your blog, I hope you will have more blogs or more articles to bring to readers. You are doing a very good job.
horse power spray ||
long time spray

Sam Smith said...

Before you even start plugging in any numbers, it is important that you decide for a strategy to pursue for the game. Even more important is, to stick to it! I have encountered two successful strategies so far: medium-quality shoes (S/Q rating of 5-6 stars) paired with high number ofmodels (250-350 models) and high-quality shoes (S/Q rating of 8-10 stars) paired with lownumber of models (50 models). For this blog post, I will concentrate on the high-quality + lowmodel strategy. Read more about Business Strategy Game Help

Data Science said...

Extremely overall quite fascinating post. I was searching for this sort of data and delighted in perusing this one.
Continue posting. A debt of gratitude is in order for sharing.
business analytics course in warangal

digital marketing training malaysia said...

I was basically inspecting through the web filtering for certain data and ran over your blog. I am flabbergasted by the data that you have on this blog. It shows how well you welcome this subject. Bookmarked this page, will return for extra.https://360digitmg.com/course/certification-program-on-digital-marketing

ethan potter said...

Canon IJ Network Tool you to watch out for the points mentioned below considerably:
If you want a LAN setup for your printer, you should have the required connectivity equipment such as Network Access Point (Router/ Modem), LAN Cable etc.To get your IJ Network tool to work, you first need to check your printer’s connectivity via LAN connection. Next, check your LAN cable carefully.Canon IJ Printer Utility you can alter your printer’s ink cartridge settings according to your requirements. If any ink cartridges get empty, you can continue to print with other available cartridges after changing the settings.

Career Program and Skill Development said...

Very informative message! There is so much information here that can help any business start a successful social media campaign!


Business Analytics Course

Career Program and Skill Development said...

Very informative message! There is so much information here that can help any business start a successful social media campaign


Business Analytics Course

Unknown said...

Awesome blog. I enjoyed reading your articles. This is truly a great read for me. I have bookmarked it and I am looking forward to reading new articles. Keep up the good work!data analytics course in bhubaneswar

PMP Training in Malaysia said...

360DigiTMG, the top-rated organisation among the most prestigious industries around the world, is an educational destination for those looking to pursue their dreams around the globe. The company is changing careers of many people through constant improvement, 360DigiTMG provides an outstanding learning experience and distinguishes itself from the pack. 360DigiTMG is a prominent global presence by offering world-class training. Its main office is in India and subsidiaries across Malaysia, USA, East Asia, Australia, Uk, Netherlands, and the Middle East.

Unknown said...

Really impressed! Everything is very open and very clear clarification of issues. It contains truly facts. Your website is very valuable. Thanks for sharing. data scientist course in surat

Unknown said...

The next time I read a blog, I hope that it doesnt disappoint me as much as this one. I mean, I know it was my choice to read, but I actually thought you have something interesting to say. All I hear is a bunch of whining about something that you could fix if you werent too busy looking for attention. data science course in mysore

Unknown said...

Führerschein kaufen
rijbewijs kopen
comprar carta
acheter un permis de conduire
comprar carnet de conducir
Führerschein kaufen
comprar carta de conduçao verdadeira

business analytics course in chennai with placement said...

I see the greatest contents on your blog and I extremely love reading them. Data Scientist Course in Dombivli

Anonymous said...

I want to leave a little comment to support and wish you the best of luck.we wish you the best of luck in all your blogging enedevors
data science course in varanasi

kanchana said...

I want to leave a little comment to support and wish you the best of luck.we wish you the best of luck in all your blogging enedevors
data scientist course in faridabad

traininginstitute said...

Great tips and very easy to understand. This will definitely be very useful for me when I get a chance to start my blog.
cyber security course malaysia

Customer Service said...

Thank You for Providing Such insightful information. If someone is looking for the QuickBooks Support Phone Number in US.

Michael B Packer said...

United flight cancellation are handled through the United Airlines cancellation process, which allows passengers to cancel their reservations directly through the website, over the phone with the customer service helpline, or through an outsider scratch-off if the traveller had previously booked the trip with someone else. Following 24 hours of procurement, cutting costs may be necessary.



House Cleaning Honolulu said...

Thank you for sharing this article. Keep it up!
House Cleaning Honolulu

webrootsafes said...

Both online & offline memes are available to you to get the webroot com secure at any place. You can easily go to the acknowledged retail (store) to get this application online. Also, you can purchase this from an official site.
webroot com/secure

comprare patente originale said...

buone informazioni sono state pubblicate
comprare la patente b
Comprare patente online

Dissertation Help said...

Nice information on this blog. We help you to get done your sop writing services when you are planing to take admission for further study somewhere in abroad. We have best team member who support you to get done sop on time.

Career Program and Skill Development said...

Data Science handles structured and unstructured and data that is generated at an unprecedented rate every day. Anyone with a strong statistical background and an analytical mindset enjoys the challenges of big data that involves building data models and software platforms along with creating attractive visualizations and machine learning algorithms. Sign up for the Data Science courses in Bangalore with Placements and get access to resume building and mock interviews that will help you get placed with top brands in this field.

Best Data Science Training institute in Bangalore

Career Academic institute said...

Are you not ready to risk your and your family's health this pandemic time by joining an offline Data Analyst course. we have a solution for you, enroll in an online Data Analyst course that will equip you with all the knowledge needed for a job in just 6 months.

Business Analytics Course in Jodhpur

buyplaystationonline.com said...

What a great content we have here https://deutschenführerscheinkaufen.de as we browse we also see this blog too and is pretty good buy Playstation 5 video game online we also realize that blog are good for business we also bring https://deutschenführerscheinkaufen.de best blog to visit

Steve said...

Robinhood is an online investing platform offering commission-free trading on several US-listed investment types, with high-yield cash management offerings, margin trading, and access to initial public offering (IPO) investments.Open the Robinhood Login app and sign in with your email address and password. Tap the Account (person) icon in the bottom right corner. Tap the three bars in the top right corner.Phantom wallet |

johncarter said...


I like to read this type of content very much and thanks. aol mail

https://buyplaystationonline.com/ said...

What a great content we have here buy PlayStation 5 online as we browse we also see this blog too and is pretty good buy Playstation 5 video game online we also realize that blog are good for business we also bring buy vyvanse online best blog to visit https://deutschenführerscheinkaufen.de

What a great content we have here buy PlayStation 5 online as we browse we also see this blog too and is pretty good buy Playstation 5 video game online we also realize that blog are good for business we also bring buy vyvanse online best blog to visit

https://buyplaystationonline.com/ said...

What a great content we have here buy PlayStation 5 online as we browse we also see this blog too and is pretty good buy Playstation 5 video game online we also realize that blog are good for business we also bring buy https://deutschenführerscheinkaufen.de online best blog to visit

vhvhv said...

Coinbase Pro was designed as a virtual currency exchange for professionals and institutions to trade some of the world's most popular digital assets. Customers with a Coinbase Pro account may be able to access exclusive features that are no longer available on any other platform. This platform caters to big volume and seasoned traders rather than novices. Coinbase Pro appears to offer and assist with bitcoin usage. Coinbase Pro Login features are extremely rapid and simple to use. This platform is a global trading blockchain network comprised of the world's largest traders, of which you are a part. Robinhood Login Effective immediately, all of these cash sweep balances are now earning 3.75% interest with the interest compounding daily. Binance Login is the official Binance cryptocurrency wallet for accessing BNB Smart Chain (BSC), BNB Beacon Chain, and Ethereum. Coinbase Login and our customers are not in any direct danger of liquidity or credit risk. Regardless of whether the Binance/FTX transaction completes, we have very little exposure to FTX and we have no exposure to its token, FTT.

leophilipe said...

Thanks for providing an informative blog....


Digital Marketing Company in Chennai

Digital Marketing Services Chennai


ravise23 said...

nift study material

Rasheed Khan said...

Thanks for the sharing the useful information. This post is very amazing and useful. You are also read more then click here best tuition classes for class 3. Thank You!

Sahib said...

"Want to file the GST return? Check your GST return filing status online. Click here Visit GST return service.com! to know all about filing for GST return, its types, return frequency, and the process."

Angel17 said...

I am glad to read this blog. Excellent post. Pool Removal Joliet

Vinsmoke Sanji said...

Delta Airlines | Qantas Airlines | Coinbase Wallet | MetaMask Wallet | MetaMask Wallet |

Hamza said...

Thank you for providing this information. Visit us for Getting Best Online Arabic Language Course at Affordable prices.

My Translation Services said...

MyTranslationServices.com takes pride in being a trusted provider of academic translation online in UK. We have built a strong reputation for our commitment to excellence, accuracy, and customer satisfaction. With our user-friendly online platform, you can easily submit your documents and track the progress of your translations.

«Oldest ‹Older   401 – 483 of 483   Newer› Newest»